以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:如何将末级余额数汇总到上一级余额数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150990)

--  作者:YUNSEL
--  发布时间:2020/6/12 10:20:00
--  求助:如何将末级余额数汇总到上一级余额数
如下图,希望写个循环代码把末级余额数汇总到上一级余额数,下图中红色部分要求是自动汇总计算的。

 For Each r1 As Row In Tables(e.Form.Name & "_Table1").Rows
      if dr("余额数") = nothing then
            dr("余额数") = tables(e.Form.Name & "_Table1").Compute("Sum(余额数)", "科目编码 like \'" & dr("余额数") & "%\'")      \'这里的条件是左包含是所有的下阶的,要怎么做到只包含下一级的汇总?
      end if 
Next



图片点击可在新窗口打开查看此主题相关图片如下:abcde.png
图片点击可在新窗口打开查看


追加问题:还有就是如何处理从最下级到上级的循环运算,就比如上图中在算5001时,可能5001.02还没计算,此时计算的结果就是200,当算到5001.02层为400的时候,5001层则要自动加上这400.
[此贴子已经被作者于2020/6/12 10:26:04编辑过]

--  作者:有点蓝
--  发布时间:2020/6/12 10:35:00
--  
dr("余额数") = tables(e.Form.Name & "_Table1").Compute("Sum(余额数)", "科目编码 like \'" & dr("科目编码") & ".%\'") 

For i as integer = Tables(e.Form.Name & "_Table1").Rows.count - 1 to 0 step -1
dim dr as row = Tables(e.Form.Name & "_Table1").Rows(i)
      if dr("余额数") = nothing then
            dr("余额数") = tables(e.Form.Name & "_Table1").Compute("Sum(余额数)", "科目编码 like \'" & dr("科目编码") & ".%\'")       \'这里的条件是左包含是所有的下阶的,要怎么做到只包含下一级的汇总?
      end if 
Next

--  作者:YUNSEL
--  发布时间:2020/6/12 10:37:00
--  
太感谢了