以文本方式查看主题

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

--  作者:tele
--  发布时间:2013/1/20 1:36:00
--  [求助]单元格如何做过滤

表A

第一列,下拉框内容为表B某列

第二列,下拉框内容通过第一列内容在表B中筛选的结果

 

请问如何实现

 

其实就是查询功能,在控件中好搞,但直接在表中如何处理?


--  作者:sgs
--  发布时间:2013/1/20 11:22:00
--  
帮组文档有没有好好看:

示例二

本示例请参考CaseStudy目录下的示例文件“自动输入.Table”。

假定项目中有一个名为“行政区域”的基础数据表,这个表已经输入了全国所有县级行政区域的资料,包括省市、市县、区号、邮编四列;现在我们在客户表中输入数据,假定客户表也有这么四列,显然最好的输入方式是,客户表省市列能够根据行政区域表的设置,列出所有的省市供选择,选择省市之后,市县列能列出该省市所有的市县供选择,而选择市县之后,区号和邮编能够自动输入。

区号和邮编的自动输入,我们将在后续章节中介绍,我们现在看看如何利用PrepareEdit实现动态的列表项目。

1、先在项目事件AfterOpenProject中设置如下代码:

Tables("客户").Cols("省市").Combolist = DataTables("行政区域").GetComboListString("省市")

这样每次打开项目,就会自动从行政区域表提取不重复的省市名称,作为客户表省市列的列表项目。

2、在客户表的PrepareEdit事件中输入如下代码:

If e.Col.Name = "县市" Then \'如果正在编辑的是县市列
    \'从行政区域表提取该省市的县市作为列表项目
     e.Col.Combolist = DataTables("行政区域").GetComboListString("县市", "[省市] = \'" & e.Row("省市") & "\'")
End
If

这样在客户表县市列输入内容的时候,会自动根据已经输入的省市,列出该省市的全部县市供选择。