老师您好,新增加的出库(整领数量)没有计算进库里,附件新增出库1,库存(整盒库存)数据没有计算进去,只在下一条出库或入库数据后才计算上一条记录,代码如下,不知怎么改?谢谢!
此主题相关图片如下:批注 2019-11-11 171446.jpg

Select Case e.DataCol.Name
Case "药品名称","数量","整领数量","健康室"
Dim drs As List(of DataRow)
Dim Filter As String
Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [药品名称] = '" & e.DataRow("药品名称") & "'And [健康室] = '" & e.DataRow("健康室") & "'"
drs = e.DataTable.Select(Filter)
For Each dr As DataRow In drs
Filter = "[_SortKey] <= " & dr("_SortKey") & " And [药品名称] = '" & dr("药品名称") & "'And [健康室] = '" & dr("健康室") & "'"
Dim Val1 As Double = e.DataTable.SQLCompute("Sum(数量)",Filter)
Dim Val2 As Double = e.DataTable.SQLCompute("Sum(整领数量)",Filter)
dr("整盒库存") = Val1 - Val2
Next
If e.DataCol.Name = "药品名称" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
Filter = "[_SortKey] > " & e.DataRow("_SortKey") & " And [药品名称] = '" & e.OldValue & "'"
drs = e.DataTable.Select(Filter)
For Each dr As DataRow In drs
Filter = "[_SortKey] <= " & dr("_SortKey") & " And [药品名称] = '" & dr("药品名称") & "'And [健康室] = '" & e.DataRow("健康室") & "'"
Dim Val1 As Double = e.DataTable.SQLCompute("Sum(数量)",Filter)
Dim Val2 As Double = e.DataTable.SQLCompute("Sum(整领数量)",Filter)
dr("整盒库存") = Val1 - Val2
Next
End If
End Select