补前天的记录,应该把昨天和今天的余额重新计算。但现在按[_SortKey],是从最新的余额计算。试着把[_SortKey]改[日期],出现错误
此主题相关图片如下:高效流水账 日期错误2.jpg
此主题相关图片如下:高效流水账 日期错误.jpg
Select Case e.DataCol.Name
Case "产品","入库","出库"
Dim drs As List(of DataRow)
Dim Filter As String
Filter = "[日期] >= " & e.DataRow("日期") & " And [产品] = '" & e.DataRow("产品") & "'"
drs = e.DataTable.Select(Filter)
For Each dr As DataRow In drs
Filter = "[日期] <= " & dr("日期") & " And [产品] = '" & dr("产品") & "'"
Dim Val1 As Double = e.DataTable.Compute("Sum(入库)",Filter)
Dim Val2 As Double = e.DataTable.Compute("Sum(出库)",Filter)
dr("库存") = Val1 - Val2
Next
If e.DataCol.Name = "产品" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
Filter = "[日期] > " & e.DataRow("日期") & " And [产品] = '" & e.OldValue & "'"
drs = e.DataTable.Select(Filter)
For Each dr As DataRow In drs
Filter = "[日期] <= " & dr("日期") & " And [产品] = '" & dr("产品") & "'"
Dim Val1 As Double = e.DataTable.Compute("Sum(入库)",Filter)
Dim Val2 As Double = e.DataTable.Compute("Sum(出库)",Filter)
dr("库存") = Val1 - Val2
Next
End If
End Select
[此贴子已经被作者于2017/2/14 11:34:05编辑过]