以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]两表之间数据的同步问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114488) |
-- 作者:liuwei2182 -- 发布时间:2018/2/7 15:24:00 -- [求助]两表之间数据的同步问题 表a的1列、2列、3列,同步到表b的4列、5列、6列,用下面的代码,应该怎么改?大师帮忙 Select
Case
e.DataCol.name
Case "产品编号" Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.OldValue & "\'") If dr Is Nothing Then dr = DataTables("库存").AddNew() dr("产品编号") = e.DataRow("产品编号") dr("产品名称") = e.DataRow("产品名称") dr("产品规格") = e.DataRow("产品规格") Else dr("产品编号") = e.DataRow("产品编号") End If Case "产品名称","产品规格" Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.DataRow("产品编号") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select |
-- 作者:有点甜 -- 发布时间:2018/2/7 15:30:00 -- Select Case e.DataCol.name Case "产品编号" Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.OldValue & "\'") If dr Is Nothing Then dr = DataTables("库存").AddNew() dr("产品编号") = e.DataRow("产品编号") dr("5") = e.DataRow("1") dr("6") = e.DataRow("2") Else dr("产品编号") = e.DataRow("产品编号") End If Case "1","2" Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.DataRow("产品编号") & "\'") If dr IsNot Nothing Then dr("5") = e.DataRow("1") dr("6") = e.DataRow("2") End If End Select |
-- 作者:liuwei2182 -- 发布时间:2018/2/7 15:31:00 -- 其他的汉字怎么办? |
-- 作者:有点甜 -- 发布时间:2018/2/7 15:32:00 -- 你两个表,必须根据编号列进行对比,你两个表都要有一个编号列。 |
-- 作者:liuwei2182 -- 发布时间:2018/2/7 15:34:00 -- 以下是引用有点甜在2018/2/7 15:30:00的发言: Select Case e.DataCol.name Case "产品编号" Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.OldValue & "\'") If dr Is Nothing Then dr = DataTables("库存").AddNew() dr("产品编号") = e.DataRow("产品编号") dr("5") = e.DataRow("1") dr("6") = e.DataRow("2") Else dr("产品编号") = e.DataRow("产品编号") End If Case "1","2" Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.DataRow("产品编号") & "\'") If dr IsNot Nothing Then dr("5") = e.DataRow("1") dr("6") = e.DataRow("2") End If End Select 3,4列怎么办呢 |
-- 作者:有点甜 -- 发布时间:2018/2/7 15:35:00 -- 看懂代码,要多少列,那就复制拷贝多少行。
初学者,把视频教程看一下 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=67187
|
-- 作者:liuwei2182 -- 发布时间:2018/2/7 15:44:00 -- OK了,谢谢,有点甜,除了这种方法,还有什么同步数据的方法吗? |
-- 作者:有点甜 -- 发布时间:2018/2/7 15:53:00 -- 以下是引用liuwei2182在2018/2/7 15:44:00的发言:
OK了,谢谢,有点甜,除了这种方法,还有什么同步数据的方法吗?
如果要实时同步,必须用2楼的方法。
如果是父子表的情况,你可以直接引用父表数据
http://www.foxtable.com/webhelp/scr/0091.htm
http://www.foxtable.com/webhelp/scr/0106.htm
|
-- 作者:liuwei2182 -- 发布时间:2018/2/7 15:54:00 -- 我两个表中用日期列做 对比列,结果有的日期出现下列报错 .NET Framework 版本:2.0.50727.8766
Foxtable 版本:2017.12.31.1 错误所在事件:表,晋东公司生产日报,DataColChanged 详细错误信息: 调用的目标发生了异常。 无法在 System.DateTime 和 System.String 上执行“=”操作。 |
-- 作者:有点甜 -- 发布时间:2018/2/7 15:56:00 -- Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.DataRow("产品编号") & "\'")
改成
Dim dr As DataRow = DataTables("库存").Find("产品编号 = #" & e.DataRow("产品编号") & "#") |