以文本方式查看主题

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

--  作者:cd_tdh
--  发布时间:2017/11/7 11:02:00
--  [求助]数据加载

外部数据源,下面表默认都不加载,打开时判断如下:

If DataTables.Contains("工程款申请") = False
    DataTables.Load("程款申请|合同签订|工程款管理|分公司管理")
End If
Functions.Execute("单表加载",DataTables("工程款申请"))
Forms("工程款申请管理窗口").Open()
MainTable = Tables("工程款申请")

 

直接打开没有问题,当我先打开其他表,加载后在打开工程款申请时,会提示其他表已加载,在提示工程款申请不存在(没加载成功),是不是每一个表都需要判断是否加载呢?

只能这样写吗?

If DataTables.Contains("工程款申请") = False
    DataTables.Load("工程款申请")
End If
If DataTables.Contains("合同签订") = False
    DataTables.Load("合同签订")
End If
If DataTables.Contains("工程款管理") = False
    DataTables.Load("工程款管理")
End If
If DataTables.Contains("分公司管理") = False
    DataTables.Load("分公司管理")
End If

[此贴子已经被作者于2017/11/7 11:03:34编辑过]

--  作者:有点甜
--  发布时间:2017/11/7 11:43:00
--  
 要分开来判断。但如果是关联表的话,必须一起加载,否则就不能启用关联了。
--  作者:cd_tdh
--  发布时间:2017/11/7 12:40:00
--  
关联表不需要分开判断哇?比如我工程款审核和工程款申请是单向关联,工程款申请是子表,这样加载?
If DataTables.Contains("工程款审核") = False
    DataTables.Load("程款申请|工程款审核")
End If
[此贴子已经被作者于2017/11/7 12:52:13编辑过]

--  作者:有点甜
--  发布时间:2017/11/7 13:00:00
--  
以下是引用cd_tdh在2017/11/7 12:40:00的发言:
关联表不需要分开判断哇?比如我工程款审核和工程款申请是单向关联,工程款申请是子表,这样加载?
If DataTables.Contains("工程款审核") = False
    DataTables.Load("程款申请|工程款审核")
End If
[此贴子已经被作者于2017/11/7 12:52:13编辑过]

 

是的。

 

当然你可以分开加载,如果你关联表分开加载,就相当于你没有设置关联。