以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  数据复制到没有关联的表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105032)

--  作者:zoyong
--  发布时间:2017/8/10 13:36:00
--  数据复制到没有关联的表
datacolchanged     SQL外部数据表   帮忙看看下面代码为什么无效

\'----------------数据复制到投保金表-------------------
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("编号")
            dr2("区域") = e.DataRow("区域")
            dr2("资质") = e.DataRow("资质")
            dr2("是否自投") = e.DataRow("是否自投")
            dr2("开标时间") = e.DataRow("开标时间")
            dr2("取消投标") = e.DataRow("取消投标")
            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

删除
Dim dr As DataRow = DataTables("投保金").SQLFind("编号 = \'" & e.DataRow("编号") & "\'")
If dr IsNot Nothing Then
    dr.Delete()
End If

新增或修改列"编号","区域","资质","开标时间","取消投标","取消原因"      将数据复制到"投保金"表中    并同步删除

“投保金”表含"编号","区域","资质","开标时间","取消投标","取消原因" 等列
[此贴子已经被作者于2017/8/10 14:02:37编辑过]

--  作者:有点甜
--  发布时间:2017/8/10 14:37:00
--  

Select Case e.DataCol.name
    Case "编号"
        Dim dr2 As DataRow
        If e.OldValue = Nothing Then
            dr2 = DataTables("投保金").Find("编号 = \'" & e.newvalue & "\'")
        Else
            dr2 = DataTables("投保金").Find("编号 = \'" & e.OldValue & "\'")
        End If
        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("编号")
            dr2("区域") = e.DataRow("区域")
            dr2("资质") = e.DataRow("资质")
            dr2("是否自投") = e.DataRow("是否自投")
            dr2("开标时间") = e.DataRow("开标时间")
            dr2("取消投标") = e.DataRow("取消投标")
            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


删除
Dim dr As DataRow = DataTables("投保金").Find("编号 = \'" & e.DataRow("编号") & "\'")
If dr Is Nothing dr = DataTables("投保金").sqlFind("编号 = \'" & e.DataRow("编号") & "\'")
    If dr IsNot Nothing Then
        dr.Delete()
    End If
end if