Foxtable(狐表)用户栏目专家坐堂 → 如何同步另一个表的某些数据行


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

主题:如何同步另一个表的某些数据行

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
如何同步另一个表的某些数据行  发帖心情 Post By:2023/11/30 8:15:00 [只看该作者]

现在我在<出入库>这个修改某个物料编号的入库数,我希望在修改之前能够先同步另一个表(即"订单"表)同样物料编号的所有数据行。请问这个代码要怎么样写?

我看到有这个代码:DataTables("订单").DataRows(1).Load(),但是不知道如何定义要重新加载的行。

谢谢。

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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/30 8:41:00 [只看该作者]

举例说明一下,两个表的数据是怎么样的,同步前是怎么样的?同步后是什么结果?

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2023/11/30 9:11:00 [只看该作者]

我在“出入库B”之 Startedit 里面有如下代码:

If e.Col.Name = "合格" OrElse e.Col.Name = "不合格" OrElse e.Col.Name = "合格2" OrElse e.Col.Name = "不合格2" Then
    DataTables("检验频率").Load
End If

希望在编辑“出入库B”之前,先同步一下"检验频率" 这个表。如果"检验频率"这个表数据不多(比如几千行),那么同步可能就很快;如果"检验频率"那里数据比较多,同步起来就可能比较慢,所以,如果能事先筛选一下,让两个表里面同物料编号的才要进行同步(在"检验频率"那里找出与“出入库B”那里当前编辑行同物料编号的行),这样子是不是会快一点。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2023/11/30 9:21:00 [只看该作者]

DataTables("订单").LoadFilter = "[日期] = #" & Date.Today & "#"
我看到有上面的代码,应该可以达到我的目的。

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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/30 9:28:00 [只看该作者]

建议只加载相关的数据,类似:http://www.foxtable.com/webhelp/topics/2228.htm

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2023/11/30 10:45:00 [只看该作者]

谢谢。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2023/12/7 10:01:00 [只看该作者]

接3楼问题:

Startedit 里面有如下代码:
If e.Col.Name = "合格" OrElse e.Col.Name = "不合格" OrElse e.Col.Name = "合格2" OrElse e.Col.Name = "不合格2" Then
    DataTables(e.Row("本行数据来源")).LoadFilter = "[物料编号] = '" & e.Row("物料编号") & "' and [出入库单号] = '" & e.Row("出入库单号") & "'" 
end if

上面的代码里面,e.Row("本行数据来源") 就是一个表名,但是整句代码执行起来好像不起作用,就是不会把尚未加载出来数据行给加载出来。请问是哪里的问题呢?谢谢。

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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/7 10:09:00 [只看该作者]

只是设置了条件,没有加载的代码呀

    DataTables(e.Row("本行数据来源")).LoadFilter = "[物料编号] = '" & e.Row("物料编号") & "' and [出入库单号] = '" & e.Row("出入库单号") & "'" 
    DataTables(e.Row("本行数据来源")).Load

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2023/12/7 10:24:00 [只看该作者]

果然是。谢谢。

 回到顶部