以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  下拉列表问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85206)

--  作者:实话实说
--  发布时间:2016/5/20 10:49:00
--  下拉列表问题

示例:生产表,机台列的下拉取值根据工序列显示

If e.Col.Name = "机台" Then
     e.Col.Combolist = DataTables("生产").GetComboListString("机台","[工序] = \'" & e.Row("工序") & "\'")
End If
开始时,生产表的记录很少或没有,这是须手工录入我觉得不方便,此时想从下拉列表表中取值,(已录有机台)怎么实现?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:下拉列表.foxdb


--  作者:大红袍
--  发布时间:2016/5/20 11:11:00
--  
If e.Col.Name = "机台" Then
    e.Col.Combolist = DataTables("生产").GetComboListString("机台","[工序] = \'" & e.Row("工序") & "\'")
    If e.Col.ComboList = ""
        e.Col.Combolist = DataTables("下拉列表").GetComboListString("机台")
    ElseIf e.Col.ComboList.Split("|").length < 3 Then
        e.Col.Combolist &= "|" & DataTables("下拉列表").GetComboListString("机台")
    End If
End If
[此贴子已经被作者于2016/5/20 11:10:49编辑过]

--  作者:实话实说
--  发布时间:2016/5/20 11:25:00
--  
谢了
--  作者:实话实说
--  发布时间:2016/5/21 8:07:00
--  

大红袍老师,早上好。2楼代码还不能完全满足使用要求。比如,下拉列表表中,某工序有多个机台,在生产表中录入时,只要选择录入了1个机台,这个工序就不再显示下拉列表中的项目了,该工序的其它机台就只能手工录入了。能否再完善一下,避免在生产表中手工录入。

工序中的机台多少是不确定的.

[此贴子已经被作者于2016/5/21 8:08:29编辑过]

--  作者:Hyphen
--  发布时间:2016/5/21 9:40:00
--  
2楼代码测试没有问题。如果另外改过代码,请重新上传例子和代码
--  作者:实话实说
--  发布时间:2016/5/21 10:29:00
--  
以下是引用Hyphen在2016/5/21 9:40:00的发言:
2楼代码测试没有问题。如果另外改过代码,请重新上传例子和代码

下拉列表会产生重复值


--  作者:实话实说
--  发布时间:2016/5/21 10:57:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.gif
图片点击可在新窗口打开查看

--  作者:Hyphen
--  发布时间:2016/5/21 11:03:00
--  
If e.Col.Name = "机台" Then
    e.Col.Combolist = DataTables("生产").GetComboListString("机台","[工序] = \'" & e.Row("工序") & "\'")
    If e.Col.ComboList = ""
        e.Col.Combolist = DataTables("下拉列表").GetComboListString("机台")
    End If
End If
--  作者:Hyphen
--  发布时间:2016/5/21 11:03:00
--  
看懂代码,想怎么改都可以
--  作者:实话实说
--  发布时间:2016/5/21 11:14:00
--  

已搞定,谢了