以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  非关联表之间的数据同步  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=169961)

--  作者:qazlinle6
--  发布时间:2021/7/7 16:28:00
--  非关联表之间的数据同步
Select Case e.DataCol.Name
    Case "年月店名对账品名对账品类"
        Dim dr2 As DataRow = DataTables("盘点总计").Find("年月店名对账品名对账品类 = \'" & e.OldValue & "\'")
        If dr2 Is Nothing Then
            dr2 = DataTables("盘点总计").AddNew()
            dr2("年月店名对账品名对账品类") = e.DataRow("年月店名对账品名对账品类")
            dr2("年") = e.DataRow("年")
            dr2("月") = e.DataRow("月")
            dr2("店名账号") = e.DataRow("店名账号")
            dr2("店名汉字") = e.DataRow("店名汉字")
            dr2("对账品名") = e.DataRow("对账品名")
            dr2("对账品类") = e.DataRow("对账品类")
        Else
            dr2("年月店名对账品名对账品类") = e.DataRow("年月店名对账品名对账品类")
        End If
    Case "对账品名","对账品类" ,"年","月" ,"店名账号","店名汉字" 
        Dim dr2 As DataRow = DataTables("盘点总计").Find("年月店名对账品名对账品类 = \'" & e.DataRow("年月店名对账品名对账品类") & "\'")
        If dr2 IsNot Nothing Then
            dr2(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

子表加一行戓多行
列(年月店名对账品名对账品类 )=2021071店足金戒指
父表只加一行
列(年月店名对账品名对账品类 )=2021071店足金戒指


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

End
 If

子表删除行如果不是     列(年月店名对账品名对账品类 )=2021071店足金戒指     不是最后一行   父表不删除    


--  作者:有点蓝
--  发布时间:2021/7/7 16:43:00
--  
参考:http://www.foxtable.com/webhelp/topics/0633.htm
--  作者:qazlinle6
--  发布时间:2021/7/7 16:46:00
--  
Select Case e.DataCol.Name
    Case "年月店名对账品名对账品类"
        Dim dr2 As DataRow = DataTables("盘点总计").Find("年月店名对账品名对账品类 = \'" & e.OldValue & "\'")
        If dr2 Is Nothing Then
            dr2 = DataTables("盘点总计").AddNew()
            dr2("年月店名对账品名对账品类") = e.DataRow("年月店名对账品名对账品类")
            dr2("年") = e.DataRow("年")
            dr2("月") = e.DataRow("月")
            dr2("店名账号") = e.DataRow("店名账号")
            dr2("店名汉字") = e.DataRow("店名汉字")
            dr2("对账品名") = e.DataRow("对账品名")
            dr2("对账品类") = e.DataRow("对账品类")
        Else
            dr2("年月店名对账品名对账品类") = e.DataRow("年月店名对账品名对账品类")
        End If
    Case "对账品名","对账品类" ,"年","月" ,"店名账号","店名汉字" 
        Dim dr2 As DataRow = DataTables("盘点总计").Find("年月店名对账品名对账品类 = \'" & e.DataRow("年月店名对账品名对账品类") & "\'")
        If dr2 IsNot Nothing Then
            dr2(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

子表加多行
列(年月店名对账品名对账品类 )=2021071店足金戒指
父表只加一行
列(年月店名对账品名对账品类 )=2021071店足金戒指




--  作者:有点蓝
--  发布时间:2021/7/7 17:02:00
--  
没看懂,解释一下
--  作者:qazlinle6
--  发布时间:2021/7/7 17:08:00
--  
Select Case e.DataCol.Name
    Case "年月店名对账品名对账品类"
        Dim dr2 As DataRow = DataTables("盘点总计").Find("年月店名对账品名对账品类 = \'" & e.OldValue & "\'")
        If dr2 Is Nothing Then
            dr2 = DataTables("盘点总计").AddNew()
            dr2("年月店名对账品名对账品类") = e.DataRow("年月店名对账品名对账品类")
            dr2("年") = e.DataRow("年")
            dr2("月") = e.DataRow("月")
            dr2("店名账号") = e.DataRow("店名账号")
            dr2("店名汉字") = e.DataRow("店名汉字")
            dr2("对账品名") = e.DataRow("对账品名")
            dr2("对账品类") = e.DataRow("对账品类")
        Else
            dr2("年月店名对账品名对账品类") = e.DataRow("年月店名对账品名对账品类")
        End If
    Case "对账品名","对账品类" ,"年","月" ,"店名账号","店名汉字" 
        Dim dr2 As DataRow = DataTables("盘点总计").Find("年月店名对账品名对账品类 = \'" & e.DataRow("年月店名对账品名对账品类") & "\'")
        If dr2 IsNot Nothing Then
            dr2(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

这个代码列名内容一样,盘点明细加多行,盘点总计也会跟着加多行, 我只要盘点明细无论加多少行如果列名内容一样,盘点总计只加一行

--  作者:有点蓝
--  发布时间:2021/7/7 17:28:00
--  
Dim dr2 As DataRow = DataTables("盘点总计").Find("年月店名对账品名对账品类 = \'" & e.newalue & "\'")
--  作者:qazlinle6
--  发布时间:2021/7/7 17:34:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq浏览器截图20210707173347.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2021/7/7 17:39:00
--  
 e.newvalue 
--  作者:qazlinle6
--  发布时间:2021/7/7 17:42:00
--  
不行
子表加几行,父表也跟着加几行

--  作者:有点蓝
--  发布时间:2021/7/8 8:21:00
--  
每一行子表年月店名对账品名对账品类 都不一样?通过什么列和父表关联的?