以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  通过FILL加载过来的数据进行筛选,这样写会慢吗?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178986)

--  作者:YUNSEL
--  发布时间:2022/8/2 7:15:00
--  通过FILL加载过来的数据进行筛选,这样写会慢吗?
Tables(e.Form.Name & "_table1")表中有一个ID值;
Tables(e.Form.Name & "_table2")表中也有个ID值;
这两个表都是用Tables(e.Form.Name & "_table2").Fill方法加载的;

现在想用一段代码,筛选出第一个表中的ID没有包含在第二个表中的ID的记录,我现在是这样写的:
Tables(e.Form.Name & "_table1").Filter = "ID not in (" &  DataTables(e.Form.Name & "_table2").GetComboListString("ID").Replace("|", ",")  & ")"

这样写测试了下,是可以的,担心数据量大的时候,是不是很慢呀

--  作者:有点蓝
--  发布时间:2022/8/2 8:50:00
--  
只要数据多了,做什么都慢。可以考虑分页加载,按条件加载数据
--  作者:chnfo
--  发布时间:2022/8/2 14:02:00
--  
1、正如版主所说,数据量大了以后,怎么都会慢的
2、Tables(e.Form.Name & "_table1").Filter = "ID not in (" &  DataTables(e.Form.Name & "_table2").GetComboListString("ID").Replace("|", ",")  & ")"
似乎有点点问题
 "ID not in (\'" &  DataTables(e.Form.Name & "_table2").GetComboListString("ID").Replace("|", "\',\'")  & "\')"
3、如果只是为了查table1的数据,那么table2的数据没必要加载到界面上,用一个变量从后台获取数据
[此贴子已经被作者于2022/8/2 14:06:11编辑过]