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


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

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

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


加好友 发短信
等级:五尾狐 帖子:1071 积分:7095 威望:0 精华:0 注册:2020/11/4 22:15:00
关于非关联表之间的数据同步的问题  发帖心情 Post By:2020/12/21 19:24:00 [只看该作者]

关于非关联表之间的数据同步的问题
测试一下发现以下问题:
 最多只有5个字段,超过不显示,如何实现5个字段以上,任意位置的2个表或多表的数据同步?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106731 积分:542850 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/21 20:18:00 [只看该作者]

肯定可以的,贴出具体代码说明

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


加好友 发短信
等级:五尾狐 帖子:1071 积分:7095 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2020/12/21 23:14:00 [只看该作者]

方法一:

Select Case e.DataCol.name
    Case "产品编号"
        Dim dr As DataRow = DataTables("表达式库存A").Find("产品编号 = '" & e.OldValue & "'")
        If dr Is Nothing Then
            dr = DataTables("表达式库存A").AddNew()
            
            dr("产品类别") = e.DataRow("产品类别")
            dr("次类") = e.DataRow("次类")
            dr("产品编号") = e.DataRow("产品编号")
            dr("品名") = e.DataRow("品名")
            dr("别名") = e.DataRow("别名")
            
            dr("规格") = e.DataRow("规格")
            dr("单位") = e.DataRow("单位")
            dr("库存上限") = e.DataRow("库存上限")
            dr("库存下限") = e.DataRow("库存下限")
        Else
            dr("产品编号") = e.DataRow("产品编号")
        End If
        'Case "产品名称","规格型号"
    Case "品名","规格"
        Dim dr As DataRow = DataTables("表达式库存A").Find("产品编号 = '" & e.DataRow("产品编号") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

Dim dr As DataRow = DataTables("表达式库存A").Find("产品编号 = '" & e.DataRow("产品编号") & "'")
If dr IsNot Nothing Then
    dr.Delete()
End If


用方法一:出现问题这个只显示:"产品类别","次类","产品编号","品名","规格",其他字段显示不了。

方法二:

If e.DataCol.Name = "有效状态" AndAlso e.DataRow("有效状态") = True Then
    Dim nma() As String = {"产品类别","次类","产品编号","品名","别名","规格","单位","库存上限","库存下限"} 
    Dim nmb() As String = {"产品类别","次类","产品编号","品名","别名","规格","单位","库存上限","库存下限"} 
    Dim dr As DataRow = DataTables("表达式库存A").AddNew  
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If

用方法二:也有问题,只显示"产品类别","次类","产品编号","品名","别名","规格","单位"的数据,"库存上限","库存下限"的数据显示不了,不知道怎么问题

            


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106731 积分:542850 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/22 8:47:00 [只看该作者]

方法一:
Case "品名","规格"
改为
Case "产品类别","次类","产品编号","品名","别名","规格","单位","库存上限","库存下限"


方法二不可能有问题,除非本来就没有数据,或者有其它表事件影响

 回到顶部