请问下 ,我有个关联表,父表的datachanged里写入了跨表跟新的代码,子表未设定,父表是以为采购合同号和子表做了关联。采购合同可能有多个,但是子表的订单跟进只有一个。
现在每次新增父表,子表都会新增行。 我在子表的datachanged里写入以销售合同号为基础筛选,如果有重复的则取消录入。但是老出错。。。是不是这个思路有问题还是代码有问题?
是不是关联的时候用采购合同号为基础的缘故?
父表:
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
子表:
If e.DataCol.Name = "销售合同号" Then
Dim dr As DataRow
dr = e.DataTable.Find("销售合同号 = '" & e.NewValue & "'")
If dr IsNot Nothing Then
e.Cancel = True
End If
End If
[此贴子已经被作者于2018/4/19 22:31:23编辑过]