以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助:不同表有相同的单号同步加载  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=85702)

--  作者:刘异
--  发布时间:2016/6/1 11:48:00
--  求助:不同表有相同的单号同步加载

假定有两个表,分别是订单和订单明细,两者通过"订单ID"列关联起来,订单是父表,订单明细是子表,因为每个订单对应有若干订单明细。
由于数据量比较大,决定采用动态加载,每次只加载一定数量的订单进行处理,显然作为一个合格的系统,应该同时加载这些订单的订单明细。

要完成这样的任务很简单,只需在订单表的AfterLoad事件中加入以下代码即可:

If DataTables("订单").DataRows.Count = 0 Then \'如果订单表没有数据
    DataTables(
"订单明细").LoadFilter = "订单ID Is Null" \'不加载订单明细
Else
    Dim 
ids As String
    For Each 
dr As DataRow In DataTables("订单").DataRows
        
ids = ids & "," & dr("订单ID")
    Next
    
idsids.Trim(",")
    DataTables(
"订单明细").LoadFilter = "订单ID In (" & ids & ")"
End If
DataTables(
"订单明细").Load()

 

老师好:如果两张表不是关联表,但是有相同的订单号,怎样实现上述功能。


--  作者:大红袍
--  发布时间:2016/6/1 11:49:00
--  
 不需要设置关联,直接用1楼的代码即可。