以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  在非关联表之间的数据同步中 如果 有复合条件 怎么办  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52116)

--  作者:jswjyjf
--  发布时间:2014/6/9 15:58:00
--  在非关联表之间的数据同步中 如果 有复合条件 怎么办

在非关联表之间的数据同步中 如果 有复合条件 怎么办 譬如以下代码 怎么会出错

在表的datachanged 事件中

Select Case e.DataCol.name
    Case "产品编码"
For Each ckdr As DataRow In DataTables("仓库").DataRows
        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("仓库名称")=ckdr("仓库名称")
        Else
            dr("产品编码") = e.DataRow("产品编码")
        End If
Next
    Case "产品名称","产品规格"
For Each ckdr As DataRow In DataTables("仓库").DataRows
      Dim dr As DataRow = DataTables("库存表").Find("产品编码 = \'" & e.DataRow("产品编码") & "\'" And "仓库名称 = \'" & ckdr("仓库名称") & "\'")
\'      Dim dr As DataRow = DataTables("库存表").Find("产品编码 = \'" & e.DataRow("产品编码") & "\'")
   
      If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
Next
End Select


--  作者:Bin
--  发布时间:2014/6/9 16:01:00
--  
Dim dr As DataRow = DataTables("库存表").Find("产品编码 = \'" & e.DataRow("产品编码") & "\' And 仓库名称 = \'" & ckdr("仓库名称") & "\'")