Foxtable(狐表)用户栏目专家坐堂 → 非关联表之间的数据同步过程中的判读


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

主题:非关联表之间的数据同步过程中的判读

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


加好友 发短信
等级:幼狐 帖子:132 积分:1232 威望:0 精华:0 注册:2017/3/20 13:41:00
非关联表之间的数据同步过程中的判读  发帖心情 Post By: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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:132 积分:1232 威望:0 精华:0 注册:2017/3/20 13:41:00
  发帖心情 Post By:2017/8/30 12:19:00 [只看该作者]

搞定,谢谢!

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


加好友 发短信
等级:幼狐 帖子:132 积分:1232 威望:0 精华:0 注册:2017/3/20 13:41:00
  发帖心情 Post By:2017/9/8 23:01:00 [只看该作者]

抱歉,我试一下,我没表达正确,没能真正实现我的想法。我的想法是:
1、A表/B表均都有同一列:单位名称;
2、B表中修改或者增加了“单位名称”单元格内容;通过编码判断这个新输入或者修改的“单位名称”信息,如果这个信息在A表“单位名称”列中已存在,则A表不做变化;如果A表中没有这个单位名称,则在A表中增加行,“单位名称”列的信息即是B表中“新输入/修改”的信息。
请问如何实现。
这两个A表/B表是非关联表格。
谢谢!

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部