以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于累计列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=89367)

--  作者:鲁吉
--  发布时间:2016/8/19 21:49:00
--  [求助]关于累计列
有个表是这样的:


                           月份           本月新增          年初至本月累计
                            1                100
                            2                200
                            3                150
                            4                300



怎么写表达式,实现第三列(年初至本月累计)的数据自动填入?

--  作者:Hyphen
--  发布时间:2016/8/20 8:45:00
--  
参考:http://www.foxtable.com/webhelp/scr/1572.htm
--  作者:鲁吉
--  发布时间:2016/8/20 13:22:00
--  
好像和我的需要不一样啊,帮我写下我这个类型的吧
--  作者:Hyphen
--  发布时间:2016/8/20 13:44:00
--  
一样的道理,看懂代码代表的逻辑

Select
 Case e.DataCol.Name
    Case
 "
本月新增"
        For Each dr As DataRow In e.DataTable.Select("
月份 >= " & e.DataRow("月份"))
            
dr("月份") = e.DataTable.Compute("Sum(本月新增)","月份 <= " & dr("月份"))
        Next
End
 Select

--  作者:鲁吉
--  发布时间:2016/8/20 16:19:00
--  
没有效果啊


[此贴子已经被作者于2016/8/20 16:27:02编辑过]

--  作者:Hyphen
--  发布时间:2016/8/20 16:28:00
--  
Select Case e.DataCol.Name
    Case "本月新增"
        If e.DataRow("月份") > 1 Then
            For Each dr As DataRow In e.DataTable.Select("月份 >= " & e.DataRow("月份"))
                dr("月份") = e.DataTable.Compute("Sum(本月新增)","月份 <= " & dr("月份"))
            Next
        End If
End Select

--  作者:鲁吉
--  发布时间:2016/8/20 16:28:00
--  
我传个例子,给看看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测.table


--  作者:Hyphen
--  发布时间:2016/8/20 16:34:00
--  
Select Case e.DataCol.Name
    Case "值_本月新增"
        For Each dr As DataRow In e.DataTable.Select("月份 >= " & e.DataRow("月份"))
            dr("值_年初至本月累计") = e.DataTable.Compute("Sum(值_本月新增)","月份 <= " & dr("月份"))
        Next
End Select

--  作者:鲁吉
--  发布时间:2016/8/20 16:49:00
--  
如果有多组这样的列,代码怎么简化?


--  作者:Hyphen
--  发布时间:2016/8/20 17:11:00
--  
看2楼,看懂理解代码