Foxtable(狐表)用户栏目专家坐堂 → 追载新数据时子表不能即时加载新数据


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

主题:追载新数据时子表不能即时加载新数据

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
追载新数据时子表不能即时加载新数据  发帖心情 Post By:2018/9/19 23:37:00 [只看该作者]

销售订单和销售明细表通过订单号关联,订单出库明细表和销售明细表通过订单号以及产品型号关联。

局域网使用时通过刷新按钮刷新数据,刷新按钮代码如下:

Dim id As Integer = DataTables("销售订单").Compute("Max(_Identify)")
Dim Filter As String = "[_Identify] > " & id
DataTables("销售订单").AppendLoad(Filter, False)

销售订单CurrentChanged代码如下(窗口表副表也有相同的代码):

If e.Table.Current IsNot Nothing Then
    Dim Filter As String = "订单号 = '" & e.Table.Current("订单号") & "'"
    If DataTables("销售明细表").Find(Filter) Is Nothing
        DataTables("销售明细表").AppendLoad(Filter) '则追载此订单的订单明细
    End If
End If

销售销售明细表CurrentChanged代码如下(窗口表副表也有相同的代码):

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

 

现在的问题是,局域网A用户新增一个订单,B用户点刷新按钮追载新数据,无论是在窗口还是本表,销售明细表可以追载最新的数据进来,但是订单出库明细表在窗口表和本表都不能追载。当A用户再增加一个新订单后,B用户可以看到上一个订单的订单出库明细表数据追载进来了。

请问这是什么原因,为什么不能即时追载进来?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/20 8:52:00 [只看该作者]


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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2018/9/20 16:06:00 [只看该作者]

我采用的是父表和子表同步加载之三的示例啊,写到了CurrentChanged 把下面的代码写到afterload 吗? 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
[此贴子已经被作者于2018/9/20 16:25:48编辑过]

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2018/9/20 17:14:00 [只看该作者]

订单出库明细表和销售明细表通过订单号以及产品型号关联,属于多字段关联不能使用loadchildren 我把示例三的代码写到销售明细表afterload 也没起作用 该怎么做甜老师
[此贴子已经被作者于2018/9/20 17:22:19编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/20 17:31:00 [只看该作者]

以下是引用whx007在2018/9/20 17:14:00的发言:
订单出库明细表和销售明细表通过订单号以及产品型号关联,属于多字段关联不能使用loadchildren 我把示例三的代码写到销售明细表afterload 也没起作用该怎么做甜老师
[此贴子已经被作者于2018/9/20 17:22:19编辑过]

 

1、如果你点击切换销售明细表的不同行,订单出库明细表能否加载新数据出来?

 

2、如果1还是无法加载,你要改成removefor,然后AppendLoad http://www.foxtable.com/webhelp/scr/2914.htm

 


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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2018/9/20 18:51:00 [只看该作者]

甜老师,1还是无法加载。

改成如下代码放到销售明细表的afterload 和CurrentChanged 都没起作用。

If Tables("销售明细表").Current IsNot Nothing Then
    Dim Filter As String = "订单号 = '" &  Tables("销售明细表").Current("订单号") & "'"
    DataTables("订单出库明细表").RemoveFor(Filter)
    DataTables("订单出库明细表").AppendLoad(Filter) '则追载此订单的订单明细
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/20 19:11:00 [只看该作者]

如果改成这样呢?

 

msgbox(1)

If Tables("销售明细表").Current IsNot Nothing Then

msgbox(2)
    Dim Filter As String = "订单号 = '" &  Tables("销售明细表").Current("订单号") & "'"
    DataTables("订单出库明细表").loadfilter = Filter

    DataTables("订单出库明细表").load
End If


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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2018/9/20 19:15:00 [只看该作者]

问题已经找到了,订单出库明细表保存的问题。谢谢甜老师!


 回到顶部