以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 非关联表之间的数据同步过程中的判读 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105972) |
-- 作者:zhimin -- 发布时间:2017/8/30 9:35: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("产品名称") = 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 |
-- 作者:有点甜 -- 发布时间:2017/8/30 9:58:00 -- Case "产品名称","产品规格" Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.DataRow("产品编号") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) Else dr = DataTables("库存").AddNew() dr("产品编号") = e.DataRow("产品编号") dr("产品名称") = e.DataRow("产品名称") dr("产品规格") = e.DataRow("产品规格") End If |
-- 作者:zhimin -- 发布时间:2017/8/30 12:19:00 -- 搞定,谢谢! |
-- 作者:zhimin -- 发布时间:2017/9/8 23:01:00 -- 抱歉,我试一下,我没表达正确,没能真正实现我的想法。我的想法是: 1、A表/B表均都有同一列:单位名称; 2、B表中修改或者增加了“单位名称”单元格内容;通过编码判断这个新输入或者修改的“单位名称”信息,如果这个信息在A表“单位名称”列中已存在,则A表不做变化;如果A表中没有这个单位名称,则在A表中增加行,“单位名称”列的信息即是B表中“新输入/修改”的信息。 请问如何实现。 这两个A表/B表是非关联表格。 谢谢!
|
-- 作者:有点蓝 -- 发布时间:2017/9/8 23:11:00 -- B表,Datacolchanged Select Case e.DataCol.name Case "单位名称" Dim dr As DataRow = DataTables("A表").Find("单位名称 = \'" & e.DataRow("单位名称") & "\'") If dr Is Nothing Then dr = DataTables("A表").AddNew() dr("单位名称") = e.DataRow("单位名称") End If End Select |