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 12:01:13编辑过]