数据表“出入库”的 datacolchanged 有如下代码:
'自动更新采购单的收货数量
If e.DataCol.name = "入库数量"
Dim dr1 As DataRow
dr1 = DataTables("采购单").Find("物料编号 = '" & e.DataRow("物料编号") & "' And 采购单号 = '" & e.DataRow("采购单号") & "' And 采购单行号 = '" & e.DataRow("采购单行号") & "'")
If dr1 IsNot Nothing
dr1("收货数量") = dr1("收货数量") + e.DataRow("入库数量") - e.OldValue
End If
End If
数据表“出入库”的 datarowdeleting 有如下代码:
'自动更新采购单的收货数量
If e.DataRow.isnull("采购单号") = True
Else
Dim dr As DataRow = DataTables("采购单").find("采购单号 = '" & e.DataRow("采购单号") & "' And 采购单行号 = '" & e.DataRow("采购单行号") & "' And 物料编号 = '" & e.DataRow("物料编号") & "'")
If dr IsNot Nothing
dr("收货数量") = dr("收货数量") - e.DataRow("入库数量")
End If
End If
上面是“出入库”这个数据表里面的代码,如果我删除一条记录的话,采购单里面“收货数量”是否会发生两次变化,也就是说,datacolchanged 触动一次变化,datarowdeleting 又触动一次变化?我现在就发现,删除一条记录时采购单里面的“收货数量”发生了双倍的变化。不知道是什么原因?