老师,出库这样写:
If e.DataCol.Name = "项目名称" OrElse e.DataCol.Name = "产品名称" OrElse e.DataCol.Name = "规格型号"
If e.DataRow.IsNull("项目名称") = False AndAlso e.DataRow.IsNull("产品名称") = False AndAlso e.DataRow.IsNull("规格型号") = False Then
Dim dw As DataRow = DataTables("库存").Find("项目名称 = '" & e.DataRow("项目名称") & "' And 产品名称 = '" & e.DataRow("产品名称") & "' And 规格型号 = '" & e.DataRow("规格型号") & "'")
If dw IsNot Nothing Then
If e.DataRow("出库_数量") > dw("库存_数量") Then
MessageBox.Show("该产品库存数量小于出库数量,请核对库存量是否充足!","提示",MessageBoxButtons.OK,MessageBoxIcon.None)
Return
Else
e.DataRow("出库_单价") = dw("库存_单价")
e.DataRow.Save
End If
Else
MessageBox.Show("该产品无库存,请核对库存是否有该产品!","提示",MessageBoxButtons.OK,MessageBoxIcon.None)
Return
End If
End If
End If
Select Case e.DataCol.Name
Case "出库_数量","出库_单价","出库_金额"
Dim pr As DataRow
pr = DataTables("库存").Find("项目名称 = '" & e.DataRow("项目名称") & "' And 产品名称 = '" & e.DataRow("产品名称") & "'And 规格型号 = '" & e.DataRow("规格型号") & "'")
If pr IsNot Nothing Then
DataTables("库存").DataCols("项目名称").RaiseDataColChanged(pr)
End If
End Select
存在一个问题,我库存单价是按照库存金额/库存数量计算的,我在出库中引用库存单价后,库存的数量发生了变化,单价也变化了,就是个死循环,这样没法获得库存单价,怎么来处理呢?
我在论坛看到一个移动平均的方法,麻烦看看我的怎么按照这个修改?