有两个表:产品信息和委外表,两个表都存在“档案编号,颜色,序号”这3个列,不同的是,产品信息的档案编号是重复的,只是后面的颜色和序号是不一样的,而委外表的档案编号是不重复的,而且委外表的颜色列和和序号列分别是产品信息表中的颜色列和序号列的汇总,要求用逗号分割,想达到以下的目的:
1.只有当产品信息表中某个颜色列相对应的“委外”列选上后,在委外表的颜色列的值中才能出现这个颜色值,而且当委外列的选项变化后,委外表颜色列的值也能相应变化。
2.序号列也是相同的目的
3.我想通过多值字段实现,就在委外表的PrepareEdit事件中设置了下面的代码:
If e.IsFocusCell Then '如果是焦点所在单元格
If e.Col.Name = "颜色" Then '如果正在编辑的是颜色列
'从产品明细表提取该档案编号的颜色列作为列表项目
e.Col.Combolist = DataTables("产品明细").GetComboListString("颜色", "[档案编号] = '" & e.Row("档案编号") & "'and [委外]=true ")
End If
Else If e.Col.Name = "序号" Then '如果正在编辑的是序号列
'从产品明细表提取该档案编号的序号列作为列表项目
e.Col.Combolist = DataTables("产品明细").GetComboListString("序号", "[档案编号] = '" & e.Row("档案编号") & "'and [委外]=true")
End If
可以达到我的目的,现在的问题是:怎样能使委外表中的颜色和序号列的值能自动填上,不用我手动去选(因为只要是出现在列表中的值都是必须选取的)。还是说要放到其他事件中才能实现。
此主题相关图片如下:1.jpg
此主题相关图片如下:2.jpg
此主题相关图片如下:0.jpg