以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请高手指教  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=11323)

--  作者:zdk0915
--  发布时间:2011/7/18 0:28:00
--  请高手指教
表中“窗口1”,筛选虽已能进行多次重复筛选,但在“取值”框中列出的列表项目却永远是第一次筛选前的数据,能否实现在n次筛选操作时,列出n-1次筛选结果相对就的列表项目?代码该如何写?请高手们指教!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:伟华产品生产管理系统.table


--  作者:狐狸爸爸
--  发布时间:2011/7/18 8:00:00
--  

以下代码:

 

    Dim cmd As New SQLCommand   \'定义一个新的SQLCommand,这个类用于执行SQL命令.
    Dim dt As DataTable
    cmd.CommandText = "Select  DISTINCT " & cmb2.Value & " from {"& i &"}  Where " & cmb2.Value & " Is Not Null"  \'需要排除重复的行,可以在字段列表前面加上关键词DISTINCT
    dt = cmd.ExecuteReader() \'ExecuteReader生成一个DataTable(临时表),只有在代码执行过程中才存在,也不会显示在界面中,所以用户感觉不到这个DataTable的存在.
    For Each dr As DataRow In dt.datarows
        cmb1.Items.Add(dr(cmb2.Value )) \'Items字符集合,表示所有的自定义列表项目.增加一个列表项目
    Next

 

改为一行就行:

 

   cmb1.ComboList = DataTables("表A").GetComboListString(cmb2.Value,Tables("表A").Filter)


--  作者:zdk0915
--  发布时间:2011/7/18 10:17:00
--  
可以了,谢谢狐狸爸爸!
--  作者:zdk0915
--  发布时间:2011/7/18 10:27:00
--  
狐狸爸爸,再请教一下:我项目里才建了一个原片表,应该是想要做的项目内容的十分之一左右,但现在就已感觉打开项目和操作时(写代码时)机器运行没原来爽了,这是我机器的原因,还是我的代码有问题(因不懂代码的原理和方法,90%是剪辑修改拼成的)?项目内容渐渐增加后会不会影响运行的?
--  作者:狐狸爸爸
--  发布时间:2011/7/18 11:03:00
--  

1、你用的似乎是筛选,不是加载,数据量大的时候,应该用动态加载,

2、foxtable适合处理海量数据,只要设计得当,不管数据量多大,性能一样很好。