此主题相关图片如下:2.png
做一个流水账,其他功能都实现了,就想把明细表中的最后的余额按照账户列加载到账户表的余额中。就是在账户表中做一个各账户余额的统计。明细表中,对应的账户列最后一个余额,是该账户的最终余额。始终没整明白。为啥过不去呢
此主题相关图片如下:1.png
Select Case e.DataCol.Name
Case "账户","借","贷"
Dim drs As List(of DataRow)
Dim dt As DataRow = DataTables("各种账户的名称").Find("余额 = '" & e.OldValue & "'")
Dim Filter As String
Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [账户] = '" & e.DataRow("账户") & "'"
drs = e.DataTable.Select(Filter)
For Each dr As DataRow In drs
Filter = "[_SortKey] <= " & dr("_SortKey") & " And [账户] = '" & dr("账户") & "'"
Dim Val1 As Double = e.DataTable.Compute("Sum(借)",Filter)
Dim Val2 As Double = e.DataTable.Compute("Sum(贷)",Filter)
dt = DataTables("各种账户的名称").AddNew()
dr("余额") = Val1 - Val2
dt("余额") = dr("余额")
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("账户借") & "'"
Dim Val1 As Double = e.DataTable.Compute("Sum(借)",Filter)
Dim Val2 As Double = e.DataTable.Compute("Sum(贷)",Filter)
dt = DataTables("各种账户的名称").AddNew()
dr("余额") = Val1 - Val2
dt("余额") = dr("余额")
Next
End If
End Select
[此贴子已经被作者于2022/5/6 12:16:41编辑过]