以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于动态加载表的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192100) |
-- 作者:scofields -- 发布时间:2024/5/29 0:36:00 -- 关于动态加载表的问题 这个动态加载问题,经我检测会检测加载顺序,所以进行了改良,有没更简便的方式,我有个环节有20个表,照这样的写法,简直会累死啊。求版主给个简便的方式 Select Case e.Link.Name Case "资金入账" If DataTables.Contains("T_资金表") = False AndAlso DataTables.Contains("T_客户表") = False AndAlso DataTables.Contains("T_付款方式") = False Then DataTables.Load("T_资金表|T_客户表|T_付款方式") ElseIf DataTables.Contains("T_资金表") = False AndAlso DataTables.Contains("T_付款方式") = false Then DataTables.Load("T_资金表|T_付款方式") ElseIf DataTables.Contains("T_资金表") = False DataTables.Load("T_资金表") ElseIf DataTables.Contains("T_付款方式") = False DataTables.Load("T_付款方式") End If MainTable = Tables("T_资金表") Forms("资金入账").Open() |
-- 作者:y2287958 -- 发布时间:2024/5/29 8:31:00 -- Dim 表名组 As String() = "T_资金表|T_客户表|T_付款方式".Split ("|") For Each 表名 As String In 表名组 If DataTables.Contains(表名) = False Then DataTables.Load(表名) End If Next
[此贴子已经被作者于2024/5/29 8:31:17编辑过]
|
-- 作者:cd_tdh -- 发布时间:2024/5/29 9:05:00 -- Dim Value As String = "T_资金表|T_客户表|T_付款方式" Dim sps() As Char = {"|"} Dim Names() As String = Value.Split(sps) For Each name As String In Names If DataTables.Contains(name) = False Then DataTables.Load(name) End If Next |
-- 作者:scofields -- 发布时间:2024/5/29 12:57:00 -- 感谢老师给予指导。按照你这个格式,我套用卸载,发现有问题,其中订单表与订单明细表是关联表,如何改进? Select Case e.Page.Name Case "系统刷新" Select Case e.Link.Name Case "系统刷新" Dim Value1 As String = "T_销售方式|T_订单表|T_订单明细|T_发货单|T_交货地点|T_资金表|T_付款方式|......"省去后面30个表 Dim sps3() As Char = {"|"} Dim Names() As String = Value1.Split(sps3) For Each name As String In Names If DataTables.Contains(name) = True Then DataTables.UnLoad(name) End If Next Forms("主界面窗口").open() MainTable=Tables("Maintables") |
-- 作者:cd_tdh -- 发布时间:2024/5/29 13:12:00 -- 关联表就没法这样一个一个弄了,建议: 1、常规逻辑是加载了的表就不要卸载了,卸载了在加载有需要时间;
2、一次需要同时加载30个表吗?既然是加载,就不要一次加载那么多表,用到那几个表就加载那几个表就行了。 |
-- 作者:y2287958 -- 发布时间:2024/5/29 14:17:00 -- 加载主表的同时加载关联表即可 |
-- 作者:scofields -- 发布时间:2024/5/29 14:22:00 -- 嗯!感谢楼主指点,我还是选择既然加载了就不要卸载了吧 |
-- 作者:scofields -- 发布时间:2024/5/29 14:22:00 -- 这个没用,你看我上面同时主表、子表都卸载(并且是在两个表同时加载的情况下) |
-- 作者:y2287958 -- 发布时间:2024/5/29 14:40:00 -- 无语 |