以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 流水帐公式 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2646) |
||||
-- 作者:foxmis -- 发布时间:2009/4/30 14:53:00 -- 流水帐公式 流水账:余额=收入-支出 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编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/4/30 15:12:00 -- 这是一个按日期的流水帐:
Select Case e.DataCol.Name Case "日期","收入","支出" If e.DataRow.Isnull("日期") = False Then For Each dr As DataRow In e.DataTable.Select("[日期] >= #" & e.DataRow("日期") & "#") Dim Val1 As Double = e.DataTable.compute("Sum(收入)","[日期] <= #" & dr("日期") & "#") Dim Val2 As Double = e.DataTable.compute("Sum(支出)","[日期] <= #" & dr("日期") & "#") dr("余额") = Val1 - Val2 Next End If End Select |
||||
-- 作者:wcs -- 发布时间:2009/4/30 16:11:00 -- 流水账的余额一般是按顺序计算的,不全按日期。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/4/30 16:13:00 -- 按输入顺序的,之前已经有了。 |
||||
-- 作者:kylin -- 发布时间:2009/4/30 19:41:00 -- 以下是引用wcs在2009-4-30 16:11:00的发言:
流水账的余额一般是按顺序计算的,不全按日期。 日期 改成 _Identify 就可以了 [此贴子已经被作者于2009-4-30 19:41:43编辑过]
|
||||
-- 作者:wcs -- 发布时间:2009/4/30 20:22:00 -- 我想我要非得要说说了: |
||||
-- 作者:ggmm -- 发布时间:2009/5/1 0:24:00 -- 能重排_Identify 就好了,这样一来按要求排序(例按日期排序)后重排_Identify 就能正确计算余额,雅奇mis就可以重排_Identify 的。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/1 0:57:00 -- kylin说得对,同时根据日期和_Identify 计算即可。 [此贴子已经被作者于2009-5-1 0:56:47编辑过]
|