以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 不同系统表同步问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146819) |
-- 作者:15666282205 -- 发布时间:2020/3/3 11:10:00 -- 不同系统表同步问题 老师,问题如下:表A是有两个系统编辑的,另一个是管家婆。如果表A增加行,表B也增加,如果两个表都是fox我会。现在的问题是管家婆在表A增加行的时候,fox不知道表A的变动,没法联动表B。如何实现联动呢?我想,表B加载的时候读一下表A的内容,如果判断表A的内容比自己多,就增加。两个表的数据不完全一样,表B需要编辑,比A的数据多。代码不会写,请指导。 |
-- 作者:有点蓝 -- 发布时间:2020/3/3 11:38:00 -- 两个表通过什么列关联的?怎么知道表A哪些数据是新增的? |
-- 作者:15666282205 -- 发布时间:2020/3/3 13:12:00 -- 表之间取数 老师,表之间没有关联,只是用代码实现新增时同步。表A是原始表,表B取表A的新增值,然后再增加子项目,所以,B包含所有A的数据,如果A里面的数据B里面没有,B要新增,关键是怎么判断呢? |
-- 作者:有点蓝 -- 发布时间:2020/3/3 13:45:00 -- 怎么知道表A哪些数据是新增的?业务的数据您自己都不知道,哪谁知道? |
-- 作者:15666282205 -- 发布时间:2020/3/3 15:14:00 -- 好多人操作,不可能人为去判断新增。如果A里有,B里没有,就有新增,只能这样判断。 |
-- 作者:有点蓝 -- 发布时间:2020/3/3 15:32:00 -- 那么通过什么数据、什么依据判断某个数据A里有,B里没有?编号?日期值? |
-- 作者:15666282205 -- 发布时间:2020/3/3 17:03:00 -- 编号,是唯一的 |
-- 作者:有点蓝 -- 发布时间:2020/3/3 17:19:00 -- Dim Cols1() As String = {"来源列一","来源列二","来源列三"} Dim Cols2() As String = {"接收列一","接收列二","接收列三"} For Each dr1 As DataRow In DataTables("表A").sqlSelect("编号 not in (select 编号 from 表B)") Dim dr2 As DataRow = DataTables("表B").AddNew() For i As Integer = 0 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) Next Next |
-- 作者:15666282205 -- 发布时间:2020/3/5 16:43:00 -- 老师,没法回复您呢? |
-- 作者:15666282205 -- 发布时间:2020/3/5 16:43:00 -- 把代码复制到这里就提示错误,不能回复呢 |