Foxtable(狐表)用户栏目专家坐堂 → 非关联表之间的数据同步问题


  共有1843人关注过本帖平板打印复制链接

主题:非关联表之间的数据同步问题

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


加好友 发短信
等级:婴狐 帖子:37 积分:327 威望:0 精华:0 注册:2015/5/13 10:00:00
非关联表之间的数据同步问题  发帖心情 Post By:2015/6/17 11:55:00 [只看该作者]

      大神们,我是上次发帖求助生产工厂的仓库功能的。后来按照非关联表之间的数据同步写了相关表事件后顺利完成了正常情况下的功能。


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看


      但是现在有个非正常的情况。我数据同步的两个表为制造信息和库存信息,同步的关键为每台设备的制造编号,实际数据输入是在制造信息的表中完成。现在的情况是,如果按照正确的方式输入各项信息,每次输入的制造编号都是不同的,那样库存信息里的每台信息和制造编号中的每台信息是一一对应。但是问题来了,问题一:假如我在制造信息表中添加一行新行,在填写新的制造编号时,误将制造编号输入成前面已经输入过的(也就是新输入的制造编号和已输入的制造编号发生重复),这个时候在库存信息中自动生成的数据会产生问题,库存信息确认会新增加一行,但是新的一行的内容只填入了制造编号,别的部分全部为空;同时老的对应行的数据会被更改成新的数据。
      问题二:如果我在制造信息表中的老行更改制造编号时,在库存信息表中会自动再生成一行。
      所以感觉帮助文件里的代码有点问题。





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("产品基本信息_发动机号")
            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

 回到顶部
总数 11 1 2 下一页