以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  同步加载子表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122726)

--  作者:zoyong
--  发布时间:2018/8/1 8:55:00
--  同步加载子表

不能同步加载子表,请高手帮忙

项目收支窗口中有三张表,其中“投标立项”为主表,"投标收入"和"投标支出"为副本表,在表的click事件中写代码

 

表的click事件

If Forms("项目收支").opened Then
    If Tables("投标立项").current IsNot Nothing Then
        Tables("项目收支_投标收入").DataTable.LoadFilter = "项目名称 = \'" & Tables("投标立项").Current("项目名称") & "\'"
        Tables("项目收支_投标收入").DataTable.Load
        Tables("项目收支_投标支出").DataTable.LoadFilter = "项目名称 = \'" & Tables("投标立项").Current("项目名称") & "\'"
        Tables("项目收支_投标支出").DataTable.Load
    End If
End If

 

 

 


--  作者:zoyong
--  发布时间:2018/8/1 8:59:00
--  

改成这样还是无效

 

If Forms("项目收支").opened Then
    If Tables("投标立项").current IsNot Nothing Then
        DataTables("投标收入").LoadFilter = "项目名称 = \'" & Tables("投标立项").Current("项目名称") & "\'"
        DataTables("投标收入").Load
        DataTables("投标支出").LoadFilter = "项目名称 = \'" & Tables("投标立项").Current("项目名称") & "\'"
        DataTables("投标支出").Load
    End If
End If


--  作者:有点甜
--  发布时间:2018/8/1 9:44:00
--  

1、加入msgbox,看是否执行了你里面的代码;

 

2、你beforeLoad、afterLoad事件有没有写什么代码?


--  作者:zoyong
--  发布时间:2018/8/1 10:44:00
--  
找到原因    谢谢甜老老师指点
--  作者:zoyong
--  发布时间:2018/8/1 14:29:00
--  

加载所有未加载的表

 

For Each dtn As DataTable In DataTables
    If DataTables.Contains(dtn) = False Then \'如果表没有加载
        DataTables.Load(dtn) \'加载表
    End If
Next

 


---------------------------
编译错误:类型“DataTable”的值无法转换为“String”。

 

错误代码:If DataTables.Contains(dtn) = False Then \'如果表没有加载
---------------------------


--  作者:有点甜
--  发布时间:2018/8/1 14:40:00
--  

1、无法知道哪些是没有加载的表;你可以用一个变量记录或者在表格里面记录。

 

2、如果你全部的外部表都要加载,参考 http://www.foxtable.com/webhelp/scr/1943.htm