以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]有关动态加载  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189408)

--  作者:ntqhj
--  发布时间:2023/11/30 11:04:00
--  [求助]有关动态加载
窗口父表+子表,做了2个按钮,功能可实现,动态加载主表按钮(按关键字模糊查找加载的)、动态加载子表按钮(可实现根据主表同步加载子表记录)。当主表按关键字条件动态加载较多记录时,动态加载子表子表记录的时间比较长,要3分钟左右。想实现:选中主表某几条记录时(想着是用逻辑列选择),动态加载主表选中记录的关联子表,该如何实现啊?
--  作者:有点蓝
--  发布时间:2023/11/30 11:13:00
--  
动态加载子表按钮怎么做的?加上按逻辑列的条件不就行了
--  作者:ntqhj
--  发布时间:2023/11/30 11:35:00
--  
套用帮助里的同步加载子表的代码,逻辑列的条件该如何加?
Dim ids As String
For Each dr As DataRow In DataTables("接单明细表").DataRows
    ids = ids & ",\'" & dr("内部编号") & "\'"
Next
ids = ids.Trim(",")
DataTables("承运人明细表").LoadFilter = "内部编号 In (" & ids & ")"
DataTables("承运人明细表").Load()

--  作者:有点蓝
--  发布时间:2023/11/30 11:44:00
--  
For Each dr As DataRow In DataTables("接单明细表").DataRows
改为
For Each dr As DataRow In DataTables("接单明细表").select("xx逻辑列=true")

--  作者:ntqhj
--  发布时间:2023/11/30 12:02:00
--  
可以了,谢谢老师!

[此贴子已经被作者于2023/11/30 12:13:25编辑过]

--  作者:ntqhj
--  发布时间:2023/11/30 13:09:00
--  
若:xx逻辑列=False,卸载该子表,代码如何写?打开应用加载了表结构



[此贴子已经被作者于2023/11/30 13:16:34编辑过]

--  作者:有点蓝
--  发布时间:2023/11/30 13:39:00
--  
清空数据即可,没必要卸载

DataTables("承运人明细表").LoadFilter = "[_identify] is null"
DataTables("承运人明细表").Load()

--  作者:ntqhj
--  发布时间:2023/12/5 11:24:00
--  
功能已实现。但在局域网中使用时,按关键字后台加载主表及子表速度很慢,尤其是加载子表速度更慢,在局域网中提高加载速度该如何做啊!
--  作者:有点蓝
--  发布时间:2023/12/5 11:35:00
--  
改为SqlServer数据库,然后注意优化:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=158943&replyID=&skin=1


--  作者:ntqhj
--  发布时间:2023/12/5 12:26:00
--  
我是绝对菜鸟,改SqlServer数据库,知识储备及软硬件条件远达不到的。在现有的access数据库基础上有变通的解决方法吗? 目前我的主表数据才4000多条,子表数据才10000多条,目前全部加载就是开始进入应用慢些,改后台加载进入是快了,但是按条件加载就慢的不行,总觉得哪里不对呢。赐教!