流水账:余额=收入-支出
DataColChanged代码哪里错了?
Dim i As Integer
If e.DataCol.Name = "收入" OrElse e.DataCol.Name = "支出" Then
For Each dr As DataRow In e.DataTable.DataRows
dr(0)("余额") = dr(0)("收入")-dr(0)("支出")
For i = 1 to e.DataTable.DataRows.Count-1
dr(i)("余额") = dr(i-1)("余额")+dr(i)("收入")-dr(i)("支出")
Next
Next
End If
[此贴子已经被狐狸爸爸于2009-4-30 15:30:42编辑过]
流水账的余额一般是按顺序计算的,不全按日期。
准确地说是按行号的顺序来计算的。
以下是引用wcs在2009-4-30 16:11:00的发言:
流水账的余额一般是按顺序计算的,不全按日期。
准确地说是按行号的顺序来计算的。
日期 改成 _Identify 就可以了
更严格的做法是 日期 和 _Identify 一起来
[此贴子已经被作者于2009-4-30 19:41:43编辑过]
我想我要非得要说说了:
流水账应该根据TABLE中记录的顺序来计算(从上到下,不任主键大小),因为用户只想看根据查询到的记录生成的流水账。
而主键的顺序很可能与TABLE中的记录的顺序不同,如此计算的流水账,会让人不知所云!
另外,如果一天中有多条记录,那根据日期记录的流水账多半是错的,只是最后一行是正确的!
我见过早期的财务软件,很多有这样的BUG!感觉好像是“余额”列中的值错了行!
能重排_Identify 就好了,这样一来按要求排序(例按日期排序)后重排_Identify 就能正确计算余额,雅奇mis就可以重排_Identify 的。
kylin说得对,同时根据日期和_Identify 计算即可。
[此贴子已经被作者于2009-5-1 0:56:47编辑过]