以文本方式查看主题

-  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=159485)

--  作者:实话实说
--  发布时间:2020/12/28 9:29:00
--  下拉列表筛选
下面代码显示代码列所有项目,现在代码列有4个字符6个字符,我只想显示4个字符的项目,代码如何?
If e.Col.Name = "代码" Then 
     e.Col.Combolist = DataTables("产品").GetComboListString("代码")
End If


--  作者:有点蓝
--  发布时间:2020/12/28 9:33:00
--  
e.Col.Combolist = DataTables("产品").GetComboListString("代码","len(代码)=4")
--  作者:实话实说
--  发布时间:2020/12/28 10:07:00
--  
还要麻烦下,上面代码列是1级代码,现有2级代码列,需要取字符6位数,要根据代码列的前4位筛选。例如,代码列取值1002,该列还有100201,100202,100203.....等,2级代码列就是要下拉筛选出这些值
--  作者:有点蓝
--  发布时间:2020/12/28 10:15:00
--  
e.Col.Combolist = DataTables("产品").GetComboListString("代码","len(代码)=6")
--  作者:实话实说
--  发布时间:2020/12/28 10:28:00
--  
4楼代码只是筛选出所有6位数代码,我只是要求筛选出对应的代码。例如,已经在当前表的代码列筛选出1002,1003等等,我要求二级代码列根据当前代码列的数值,从产品表下拉显示对应的6位数项目,不是显示全部。
型如这样的代码
If e.Col.Name = "规格" Then 
    e.Col.Combolist = DataTables("产品").GetComboListString("规格","[型号] = \'" & e.Row("型号"))
End If

[此贴子已经被作者于2020/12/28 10:29:18编辑过]

--  作者:有点蓝
--  发布时间:2020/12/28 10:37:00
--  
e.Col.Combolist = DataTables("产品").GetComboListString("规格","[型号] = \'" & e.Row("型号") & "\' and len(代码)=6")
--  作者:实话实说
--  发布时间:2020/12/28 11:33:00
--  
If e.Col.Name = "明细科目" Then 
     e.Col.Combolist = DataTables("会计科目").GetComboListString("明细科目","[科目代码] = \'" & e.Row("总账科目") & "\' and len(科目代码)=6")
End If
好像不对,现提供表结构。我想凭证明细表的明细科目根据总账科目下拉筛选。

图片点击可在新窗口打开查看此主题相关图片如下:会计科目.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:凭证明细.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/12/28 11:51:00
--  
e.Col.Combolist = DataTables("会计科目").GetComboListString("明细科目","[科目代码] like \'" & e.Row("总账科目") & "%\'")
--  作者:实话实说
--  发布时间:2020/12/28 12:02:00
--  
应该是:e.Col.Combolist = DataTables("会计科目").GetComboListString("科目代码","[科目代码] like \'" & e.Row("总账科目") & "%\'")
谢了。

--  作者:实话实说
--  发布时间:2020/12/28 12:10:00
--  
还不能满足要求。我想下拉输入的是科目名称而不是代码,下拉中应该显示科目代码和科目名称。