以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 非关联表数据同步 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117714) |
-- 作者:7877485 -- 发布时间:2018/4/18 9:22: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("配件名称") 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
|
-- 作者:有点甜 -- 发布时间:2018/4/18 9:54:00 -- Select Case e.DataCol.name
Case "设备类型" 第一列是设备类型,第二列是配件名称,一种设备类型下有多个配件名称,新增一个已有的设备类型和配件名称,只会同步设备类型,配件名称不会同步
Dim dr As DataRow = DataTables("库存").Find("设备类型 = \'" & e.OldValue & "\' and 配件名称 = \'" & e.DataRow("配件名称") & "\'")
If dr Is Nothing Then
dr = DataTables("库存").AddNew()
dr("设备类型") = e.DataRow("设备类型")
dr("配件名称") = e.DataRow("配件名称")
Else
dr("设备类型") = e.DataRow("设备类型")
End If
Case "配件名称"
Dim dr As DataRow = DataTables("库存").Find("设备类型 = \'" & e.DataRow("设备类型") & "\' and 配件名称 = \'" & e.oldValue & "\'")
If dr Is Nothing Then
dr = DataTables("库存").AddNew()
dr("设备类型") = e.DataRow("设备类型")
dr("配件名称") = e.DataRow("配件名称")
Else
dr("配件名称") = e.DataRow("配件名称")
End If End Select
[此贴子已经被作者于2018/4/18 9:54:38编辑过]
|
-- 作者:7877485 -- 发布时间:2018/4/18 10:12:00 -- 还是不行,只会同步设备类型,不会同步配件名称 |
-- 作者:7877485 -- 发布时间:2018/4/18 10:13:00 -- [此贴子已经被作者于2018/4/18 10:19:40编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/4/18 10:18:00 -- Select Case e.DataCol.name Case "设备类型" If e.DataRow.IsNull("设备类型") = False AndAlso e.DataRow.IsNull("配件名称") = False Then Dim dr As DataRow If e.OldValue = Nothing Then dr = DataTables("库存").Find("设备类型 = \'" & e.NewValue & "\' and 配件名称 = \'" & e.DataRow("配件名称") & "\'") Else dr = DataTables("库存").Find("设备类型 = \'" & e.oldvalue & "\' and 配件名称 = \'" & e.DataRow("配件名称") & "\'") End If If dr Is Nothing Then dr = DataTables("库存").AddNew() dr("设备类型") = e.DataRow("设备类型") dr("配件名称") = e.DataRow("配件名称") Else dr("设备类型") = e.DataRow("设备类型") End If End If Case "配件名称" If e.DataRow.IsNull("设备类型") = False AndAlso e.DataRow.IsNull("配件名称") = False Then Dim dr As DataRow If e.OldValue = Nothing Then dr = DataTables("库存").Find("设备类型 = \'" & e.DataRow("设备类型") & "\' and 配件名称 = \'" & e.NewValue & "\'") Else dr = DataTables("库存").Find("设备类型 = \'" & e.DataRow("设备类型") & "\' and 配件名称 = \'" & e.oldvalue & "\'") End If If dr Is Nothing Then dr = DataTables("库存").AddNew() dr("设备类型") = e.DataRow("设备类型") dr("配件名称") = e.DataRow("配件名称") Else dr("配件名称") = e.DataRow("配件名称") End If End If End Select |