以文本方式查看主题

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

--  作者:long086
--  发布时间:2020/2/15 18:06:00
--  求助子表加载

老师请教一个问题,用关联表做的订单系统。现在有两个员工yg001和yg002,比方有个有个客户abc,下了订单 商品 sp001和商品sp0002,

现在假如员工yg001和员工yg002同时登陆系统,员工yg001把客户abc的订单(商品sp001和商品sp002录入系统以后),这个时候员工yg002看不到abc的订单代码如下

DataTables("订单主表").LoadFilter = "客户名称 is not null"
DataTables("订单主表").Load

Dim khmc As WinForm.TextBox = e.Form.Controls("客户名称")
Tables("订单主表").Filter = " 客户名称 like \'*" & khmc.text & "*\'"

 只有重新打开项目才能看到

 

如果把代码改成下面的就可以了,但是运行很慢,基本就是死机状态,请问老师代码怎么优化

DataTables("订单主表").LoadFilter = "客户名称 is not null"
DataTables("订单主表").Load

DataTables("订单明细表").LoadFilter = "客户名称 is not null"
DataTables("订单明细表").Load

Dim khmc As WinForm.TextBox = e.Form.Controls("客户名称")
Tables("订单主表").Filter = " 客户名称 like \'*" & khmc.text & "*\'"

 

 

主表和子表通过用户名称和手机号码两列关联的

[此贴子已经被作者于2020/2/15 18:08:06编辑过]

--  作者:有点蓝
--  发布时间:2020/2/16 19:45:00
--  
如果加载的数据多,慢是正常的。可以考虑分页http://www.foxtable.com/webhelp/topics/2269.htm,或者添加查询条件,只加载某个用户、某个客户..的数据。

父子表的同步加载参考:http://www.foxtable.com/webhelp/topics/2228.htm

--  作者:long086
--  发布时间:2020/2/16 23:09:00
--  

按照老师的这个指点

http://www.foxtable.com/webhelp/topics/2228.htm
功能实现,但是速度依然很慢,数据也就大概2000条也不是很多,但是速度很慢很慢


--  作者:有点蓝
--  发布时间:2020/2/16 23:11:00
--  
那就可能是表达式列的表达式计算,或者是表事件影响的。把对应表的表事件和表达式都屏蔽掉还慢不慢?