以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  分开算流水账  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88670)

--  作者:yangwenghd
--  发布时间:2016/8/7 12:21:00
--  分开算流水账
Select Case e.DataCol.Name
    Case "欠款金额","还款金额"
        Dim dr As DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc") \'找出上一行
        If dr Is Nothing Then \'如果没有找到上一行,说明本行就是第一行
            e.DataRow("未还金额") = e.DataRow("欠款金额") - e.DataRow("还款金额")
            dr = e.DataRow
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1 \'重算余下行的余额
            drs(i)("未还金额") = drs(i-1)("未还金额") + drs(i)("欠款金额") - drs(i)("还款金额")
        Next
End Select  \'核算毛利


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160807121346.jpg
图片点击可在新窗口打开查看


--  作者:czy
--  发布时间:2016/8/7 12:26:00
--  

加个条件就行了吧

 

dr = e.DataTable.Find("债权人 = \'" & e.DataRow("债权人") & "\' and [_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc") \'找出上一行


--  作者:njcyt
--  发布时间:2016/8/7 12:27:00
--  
参考http://www.foxtable.com/webhelp/scr/2136.htm
--  作者:大红袍
--  发布时间:2016/8/7 13:21:00
--  

帮助文档,本来就有。

 

http://www.foxtable.com/webhelp/scr/1572.htm

 


--  作者:yangwenghd
--  发布时间:2016/8/7 13:31:00
--  
为什么加上去了还是没有反映呢
--  作者:大红袍
--  发布时间:2016/8/7 13:50:00
--  
看4楼,设置好代码后,重置列。
[此贴子已经被作者于2016/8/7 13:50:34编辑过]

--  作者:yangwenghd
--  发布时间:2016/8/7 14:14:00
--  
好了 谢谢