以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  多值字段列可以自动填充吗  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=26158)

--  作者:zcw728909
--  发布时间:2012/11/26 11:08:00
--  多值字段列可以自动填充吗

有两个表:产品信息和委外表,两个表都存在“档案编号,颜色,序号”这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
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2012/11/26 11:33:00
--  
把你的这个文件传上来,我们帮你写一下。
--  作者:zcw728909
--  发布时间:2012/11/26 11:34:00
--  

如果不用多值字段实现,还有其它的好方法吗?关键是要保证委外表中的颜色列和序号列的值能够更新


--  作者:zcw728909
--  发布时间:2012/11/26 11:36:00
--  
哦,刚才忘了上传文件了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


--  作者:lin_hailun
--  发布时间:2012/11/26 13:03:00
--  
 感觉这个问题楼主复杂化了,设置 委外 的默认值为True不就行了?

 新增行的时候,自动填上是True了。

 还有就是我不太明白楼主的意思,一时要手动,一时要自动,不是矛盾了么?

--  作者:zcw728909
--  发布时间:2012/11/26 13:27:00
--  
我就是想实现自动输入,却不会修改代码。另外委外列是可选的,不是默认为true的,
--  作者:lin_hailun
--  发布时间:2012/11/26 14:33:00
--  
 楼主你的意思是,选中以后,再委外表里自动添加这一行的内容,是不?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


[此贴子已经被作者于2012-11-26 14:40:34编辑过]

--  作者:zcw728909
--  发布时间:2012/11/26 14:57:00
--  

非常感谢,还有两个问题:

1两个表的档案编号相同的行是同时存在的,只是希望产品明细表的委外列变化后,只在委外表的颜色和序号列里添加和减少,而不是新增一行

2.代码放在DataColChanged事件中,当委外列的选择变化后,在委外表必须通过重置“档案编号”列才能实现颜色和序号的更新,还有其它好方法吗

[此贴子已经被作者于2012-11-26 15:01:26编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/11/26 15:05:00
--  

这样就自动了:

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目48.table


--  作者:lin_hailun
--  发布时间:2012/11/26 15:06:00
--  
http://www.foxtable.com/help/topics/1587.htm
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table