现在想实现一个功能:当酒缸采购表中的采购数量发生改变时,对酒缸库存表的总数量进行更新,
这样在酒缸采购表的DatacolChanged事件中可以通过跨表引用来实现此功能,
但是在Datacolchanged事件中实现此功能的话会有若干问题:
1.录了一条记录然后在删除的话这个库存表中的总数量已经发生了改变,还得到BeforeDeleteDatarow中再减去之前加过的采购数量;
2.如果不先选择酒缸名称,酒缸型号和酒缸状态而直接填入数量的话就会新增一行
问:这个问题是在这个原有的基础上改呢(如果改的话,对于上面第二个问题该如何改),还是讲跨表引用的这些操作在保存的按钮里操作呢(如果在窗口的保存按钮中操作又该如何更改)?
Select Case e.DataCol.Name
Case "采购数量"
Dim dr As DataRow = e.DataRow
Dim pr As DataRow
Dim pr1 As DataRow
Dim filter As String
filter = "酒缸名称 = '" & dr("酒缸名称") & "' And 酒缸型号 = '" & dr("酒缸型号") & "' And 酒缸状态 = '" & dr("酒缸状态") & "'"
pr = DataTables("酒缸库存表").Find(filter)
If pr IsNot Nothing Then
pr("总数量") = pr("总数量") + dr("采购数量")
Else
pr1 = DataTables("酒缸库存表").AddNew
pr1("酒缸名称") = dr("酒缸名称")
pr1("酒缸型号") = dr("酒缸型号")
pr1("酒缸状态") = dr("酒缸状态")
pr1("总数量") = dr("采购数量")
End If
End Select