If e.DataCol.Name = "库房确认" Then
If e.OldValue = "待入库" And e.NewValue = "已入库" Then
'在《采购入库》表中的变化
e.DataRow("入库日期") = Date.Today '库房确认,由待入库变为已入库,那么当前的日期就为入库日期
e.DataRow("操作人") = User.Name
e.DataRow.Save()
'在《入库统计》表中的变化
Dim dr As DataRow = DataTables("入库统计").AddNew
dr("入库日期") = e.DataRow("入库日期")
dr("入库序号") = e.DataRow("入库序号")
dr("名称") = e.DataRow("名称")
dr("型号") = e.DataRow("型号")
dr("数量") = e.DataRow("数量")
dr("单价") = e.DataRow("单价")
dr.Save()
'在《库存明细》表中的变化
Dim kdr As DataRow = DataTables("库存明细").AddNew
kdr("入库日期") = e.DataRow("入库日期")
kdr("入库序号") = e.DataRow("入库序号")
kdr("名称") = e.DataRow("名称")
kdr("型号") = e.DataRow("型号")
kdr("数量") = e.DataRow("数量")
kdr("单价") = e.DataRow("单价")
kdr.Save()
End If
'事先需要datacolchanging 判断物料是否还在,以及数量是否和入库时一致,如果不在或者不一致,不允许变更。
If e.OldValue = "已入库" And e.NewValue = "待入库" Then
DataTables("库存明细").SQLDeleteFor("入库序号 = '" & e.DataRow("入库序号") & "'")
DataTables("入库统计").SQLDeleteFor("入库序号 = '" & e.DataRow("入库序号") & "'")'入库统计只是起到记录的作用,不用判断
e.DataRow("操作人") = Nothing
e.DataRow("入库日期") = Nothing
e.DataRow.Save()
End If
End If

此主题相关图片如下:datacolchanged.jpg
