以文本方式查看主题

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

--  作者:lin98
--  发布时间:2023/7/11 9:18:00
--  加载问题
Dim Filter As String
Filter = " 制单人=\'" & _UserName & "\'  And 审核=\'未审核\'"

DataTables("请购主表").LoadFilter = Filter 
DataTables("请购主表").Load()
\'e.DataTable.LoadChildren("请购明细")\'



图片点击可在新窗口打开查看此主题相关图片如下:加载问题.jpg
图片点击可在新窗口打开查看

问题一:红字的代码报错

问题二:模拟关联的加载,如何加载更优、更高效?
问题三:
父表与子表同步

避免数据重复加载:
代码一
If e.Table.Current IsNot Nothing Then
    Dim Filter As String = "订单编号 = " & e.Table.Current("订单编号")
    If  DataTables("订单明细").Find(Filter) Is Nothing Then \'如果对应的订单明细没有加载过
        DataTables("订单明细").AppendLoad(Filter) \'则追载此订单的订单明细
    End If
End If

代码二
If Forms("窗口1").Opened() \'
    Dim
 t As Table = Tables("窗口1_Table1"
)
    With
 Tables("产品"
)
        If
 .Current Is Nothing 
Then
            t.Filter = 
"False"
        
Else
            t.Filter = 
"产品编号 = " & .Current("产品编号")
        End
 
IF
    
End With
End
 If


代码一和代码二是单独使用好,还是可以合并使用?













--  作者:有点蓝
--  发布时间:2023/7/11 9:38:00
--  
1、只有使用这种关联(http://www.foxtable.com/webhelp/topics/0091.htm)才能使用LoadChildren,不支持模拟关联


3、代码1指追加载新的数据,代码2是筛选数据,不是一码事。至于是分开使用还是合并使用,根据自己的需要使用,如果需要一个按钮追加数据后就马上筛选就放到一起使用