以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]流水帳問題 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44882) |
||||
-- 作者:JoyGum -- 发布时间:2014/1/10 21:47:00 -- [求助]流水帳問題 有條件的計算方式,附上例子。感恩啊!
|
||||
-- 作者:有点甜 -- 发布时间:2014/1/10 22:17:00 -- 如下代码 Select Case e.DataCol.Name Case "第一列","收入","支出" Dim dr As DataRow Dim mr As DataRow = e.DataRow Dim drs As List(of DataRow) dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [第一列] = \'" & mr("第一列") & "\'", "[_SortKey] Desc") If dr Is Nothing Then \'如果没有上一行,说明本行就是同产品的第一行 If mr("第一列").startsWith("1") OrElse mr("第一列").startswith("5") Then mr("余额") = mr("收入") - mr("支出") Else mr("余额") = mr("支出") - mr("收入") End If dr = mr End If drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [第一列] = \'" & dr("第一列") & "\'") For i As Integer = 1 To drs.Count - 1 \'重算余下行的余额 If mr("第一列").startsWith("1") OrElse mr("第一列").startswith("5") Then drs(i)("余额") = drs(i-1)("余额") + drs(i)("收入") - drs(i)("支出") Else drs(i)("余额") = drs(i-1)("余额") + drs(i)("支出") - drs(i)("收入") End If Next End Select |
||||
-- 作者:JoyGum -- 发布时间:2014/1/10 22:53:00 -- 有點甜老師:真的謝謝您啊!再次感恩啊! |
||||
-- 作者:包头123 -- 发布时间:2014/1/11 18:29:00 -- 挺好。 |