Foxtable(狐表)用户栏目专家坐堂 → 求助:多表同步加载


  共有2272人关注过本帖树形打印复制链接

主题:求助:多表同步加载

帅哥哟,离线,有人找我吗?
刘异
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
求助:多表同步加载  发帖心情 Post By:2016/9/22 21:44:00 [只看该作者]

老师好:如果客户原始订单加载,我要同时加载如下的几个表相同的产品编号数据,现在问题是,只能加载一个内部订单表的数据其它表是空的不能加载进来,如果只写加载一个表,就可以,请问是不是代码写得有问题。

 

我在表事件AfterLoad写了下面的代码(表之间未建立关联):

 

If DataTables("客户原始订单总表").DataRows.Count = 0 Then '如果订单表没有数据
    DataTables("内部订单总表").LoadFilter = "产品编号 Is Null" '不加载订单明细
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("客户原始订单总表").DataRows
        ids = ids & ",'" & dr("产品编号") & "'"
    Next
    ids= ids.Trim(",")
    DataTables("内部订单总表").LoadFilter = "产品编号 In (" & ids & ")"
End If
DataTables("内部订单总表").Load()


If DataTables("客户原始订单总表").DataRows.Count = 0 Then '如果订单表没有数据
    DataTables("盘点结存表").LoadFilter = "产品编号 Is Null" '不加载订单明细
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("客户原始订单总表").DataRows
        ids = ids & ",'" & dr("产品编号") & "'"
    Next
    ids= ids.Trim(",")
    DataTables("盘点结存表").LoadFilter = "产品编号 In (" & ids & ")"
End If
DataTables("盘点结存表").Load()

 


If DataTables("客户原始订单总表").DataRows.Count = 0 Then '如果订单表没有数据
    DataTables("入库明细表").LoadFilter = "产品编号 Is Null" '不加载订单明细
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("客户原始订单总表").DataRows
        ids = ids & ",'" & dr("产品编号") & "'"
    Next
    ids= ids.Trim(",")
    DataTables("入库明细表").LoadFilter = "产品编号 In (" & ids & ")"
End If
DataTables("入库明细表").Load()

 

If DataTables("客户原始订单总表").DataRows.Count = 0 Then '如果订单表没有数据
    DataTables("客退明细表").LoadFilter = "产品编号 Is Null" '不加载订单明细
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("客户原始订单总表").DataRows
        ids = ids & ",'" & dr("产品编号") & "'"
    Next
    ids= ids.Trim(",")
    DataTables("客退明细表").LoadFilter = "产品编号 In (" & ids & ")"
End If
DataTables("客退明细表").Load()

 


 回到顶部
帅哥哟,离线,有人找我吗?
188802386
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2016/9/22 21:51:00 [只看该作者]

试试把几段代码整合到一起来试一下呢

 回到顶部
帅哥哟,离线,有人找我吗?
刘异
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/9/22 21:55:00 [只看该作者]

合在一起也试过了,也不行!


'
'If DataTables("客户原始订单总表").DataRows.Count = 0 Then
'DataTables("内部订单总表").LoadFilter = "[产品编号] Is Null"
'DataTables("盘点结存表").LoadFilter = "[产品编号] Is Null"
'DataTables("入库明细表").LoadFilter = "[产品编号] Is Null"
'DataTables("客退明细表").LoadFilter = "[产品编号] Is Null"
'
'Else
'Dim ids As String = "'"
'For Each dr As DataRow In DataTables("客户原始订单总表").DataRows
'ids = ids & "','" & dr("产品编号") & "'"
'Next
'DataTables("内部订单总表").LoadFilter = "[产品编号] In (" & ids & ")"
'DataTables("盘点结存表").LoadFilter = "[产品编号] In (" & ids & ")"
'DataTables("入库明细表").LoadFilter = "[产品编号] In (" & ids & ")"
'DataTables("客退明细表").LoadFilter = "[产品编号] In (" & ids & ")"
'End If
'
'DataTables("内部订单总表").Load()
'DataTables("盘点结存表").Load()
'DataTables("入库明细表").Load()
'DataTables("客退明细表").Load()
'
'


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110608 积分:562942 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/22 22:04:00 [只看该作者]

试试

Dim filter As String

If DataTables("客户原始订单总表").DataRows.Count = 0 Then '如果订单表没有数据
    filter = "产品编号 Is Null" '不加载订单明细
Else
    Dim ids As List(Of String) = DataTables("客户原始订单总表").GetValues("产品编号")
    Dim filter = "产品编号 In ('" & String.Join("','",ids.ToArray) & "')"
End If
DataTables("内部订单总表").LoadFilter = filter
DataTables("盘点结存表").LoadFilter = filter
DataTables("入库明细表").LoadFilter = filter
DataTables("客退明细表").LoadFilter = filter
DataTables("内部订单总表").Load()
DataTables("盘点结存表").Load()
DataTables("入库明细表").Load()
DataTables("客退明细表").Load()

 回到顶部
帅哥哟,离线,有人找我吗?
刘异
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/9/22 22:28:00 [只看该作者]

老师好:出现如下提示。


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160922221822.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
刘异
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/9/22 22:37:00 [只看该作者]

如果改为以下代码:没有报错,但是还是加载不了。
Dim filter As String

If DataTables("客户原始订单总表").DataRows.Count = 0 Then '如果订单表没有数据
    filter = "产品编号 Is Null" '不加载订单明细
Else
    Dim ids As List(Of String) = DataTables("客户原始订单总表").GetValues("产品编号")
     filter = "产品编号 In ('" & String.Join("','",ids.ToArray) & "')"
End If
DataTables("内部订单总表").LoadFilter = filter
DataTables("盘点结存表").LoadFilter = filter
DataTables("入库明细表").LoadFilter = filter
DataTables("客退明细表").LoadFilter = filter
DataTables("内部订单总表").Load()
DataTables("盘点结存表").Load()
DataTables("入库明细表").Load()
DataTables("客退明细表").Load()

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110608 积分:562942 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/22 22:56:00 [只看该作者]

msgbox(filter)看看,

是不是设置了分页,其它照样改改

DataTables("内部订单总表").LoadTop = "100 Percent"

代码不应该有问题的,不行就上例子

 回到顶部
帅哥哟,离线,有人找我吗?
刘异
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/9/22 23:06:00 [只看该作者]

老师多谢!已解决了。


 回到顶部