1. 创建Record types –Stateless:
1、 在Record Types –Stateless中创建一个type,其名字叫:“项目”,其DBName为“item”。
2、 然后在项目中的fields中新建一个field,取名字为“item_name”,其type选择为SHORT_STRING。
3、 在项目的forms中选择把该field放到窗体上。
4、 在Record Types –Stateless中创建一个type,其名字叫:“一级菜单”,其DBName为“one_menu”。
5、 然后在项目中的fields中新建一个field,取名字为:“model_one_name”,其type选择为SHORT_STRING。另外再创建一个type其field name为:“item_name”;type为:REFERENCE,其Reference To为:“项目”。
6、 在项目的forms中选择把该field放到窗体上。
7、 在Record Types –Stateless中创建一个type,其名字叫: “二级菜单”,其DBName为:“two_menu”。
8、 然后在项目中的fields中新建一个field,取名字为:“model_two_name”,其type选择为SHORT_STRING。另外再创建一个type其field name为:“model_one_name”;type为:REFERENCE,其Reference To为:“一级菜单”。
9、 在项目的forms中选择把field放到窗体上。
2.创建Record types:
1、新建一个field,其field name为:“项目”,type为:REFERENCE,其Reference To为:“项目”。其choice list为BASIC,
点Basic的右键,点Hook properties;在出现的对话框中选中:
Recalculate choice List.其代码如下:
Dim sessionObj
Dim queryObj
Dim filterObj
Dim resultSetObj
Dim prj_name
Dim curSession
Set sessionObj = GetSession()
Set queryObj = sessionObj.BuildQuery("item")
queryObj.BuildField ("item_name")
Set resultSetObj = sessionObj.BuildResultSet(queryObj)
resultSetObj.Execute
Do While resultSetObj.MoveNext = AD_SUCCESS
choices.AddItem resultSetObj.GetColumnValue(1)
SessionObj.OutputDebugString resultSetObj.GetColumnValue(1)
Loop
2、新建一个field,其field name为:“一级菜单”,type为:REFERENCE,其Reference To为:“一级菜单”。其choice list为BASIC,
点Basic的右键,点Hook properties;在出现的对话框中选中:
Recalculate choice List.其代码如下:
Dim sessionObj
Dim queryObj
Dim filterObj
Dim resultSetObj
Dim prj_name
Set sessionObj = GetSession()
prj_name = GetFieldValue("item").GetValue()
Set queryObj = sessionObj.BuildQuery("one_menu")
queryObj.BuildField ("model_one_menu")
Set filterObj = queryObj.BuildFilterOperator(AD_BOOL_OP_AND)
filterObj.BuildFilter "pm", AD_COMP_OP_EQ, prj_name
Set resultSetObj = sessionObj.BuildResultSet(queryObj)
resultSetObj.Execute
Do While resultSetObj.MoveNext = AD_SUCCESS
choices.AddItem resultSetObj.GetColumnValue(1)
SessionObj.OutputDebugString resultSetObj.GetColumnValue(1)
Loop
3、新建一个field,其field name为:“二级菜单”,type为:REFERENCE,其Reference To为:“二级菜单”。其choice list为BASIC,
点Basic的右键,点Hook properties;在出现的对话框中选中:
Recalculate choice List.其代码如下:
Dim sessionObj
Dim queryObj
Dim filterObj
Dim resultSetObj
Dim prj_name
Set sessionObj = GetSession()
prj_name = GetFieldValue("one_menu").GetValue()
Set queryObj = sessionObj.BuildQuery("two_menu")
queryObj.BuildField ("model_two_menu")
Set filterObj = queryObj.BuildFilterOperator(AD_BOOL_OP_AND)
filterObj.BuildFilter "one_menu", AD_COMP_OP_EQ, prj_name
Set resultSetObj = sessionObj.BuildResultSet(queryObj)
resultSetObj.Execute
Do While resultSetObj.MoveNext = AD_SUCCESS
choices.AddItem resultSetObj.GetColumnValue(1)
SessionObj.OutputDebugString resultSetObj.GetColumnValue(1)
Loop