以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [讨论]关于流水账问题?? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3742) |
||||
-- 作者:ybmjy -- 发布时间:2009/7/29 21:06:00 -- [讨论]关于流水账问题?? 狐爸做的例子有问题,最后两行计算不准确。
能不能不用列来判断,而象易表一样用行来计算呢?如果能该怎样写代码 还有能象易表刷新公式样,每列可单独加代码或者有事件就好了 [此贴子已经被作者于2009-7-29 21:13:19编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/7/29 21:31:00 -- 按照日期排序后,你会看到计算结果完全正确的 |
||||
-- 作者:yangming -- 发布时间:2009/7/29 21:39:00 -- 最后两行计算不准确的原因是下一行的日期只能是等于或是大于上一行的日期 |
||||
-- 作者:ybmjy -- 发布时间:2009/7/29 23:35:00 -- 易表中的这个公式在狐表中用代码该如何写:if(row=1,[收入],cell(row-1,col)+[收入]-[支出] ) [此贴子已经被作者于2009-7-30 0:22:35编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/7/30 8:04:00 -- 如果不比较日期,只按照输入顺序,那么更简单: Select Case e.DataCol.Name Case "收入","支出" Dim drs As List(of DataRow) drs = e.DataTable.Select("[_Identify] <= " & e.DataRow("_identify") ,"[_Identify]") For Each dr As DataRow In drs Dim Filter As String = "[_Identify] <= " & dr("_Identify") Dim Val1 As Double = e.DataTable.Compute("Sum(收入)",Filter) Dim Val2 As Double = e.DataTable.Compute("Sum(支出)",Filter) dr("余额") = Val1 - Val2 Next End Select [此贴子已经被作者于2009-7-30 8:58:19编辑过]
|