以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  当前表及时SUM统计的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102108)

--  作者:douglas738888
--  发布时间:2017/6/13 14:47:00
--  当前表及时SUM统计的问题

谢谢老师前面指导的代码,现再请教老师,下面代码如何实现,在当前表及时SUM统计小计列的值,填入到当前表总量列中,用于计算其他列的值(这里用不了临时表统计,因为要填入其他相关的值进行计算)

 

如果用双击单元格的方法在DoubleClick里面到是可以实现,但是需要每行点击指定的单元格,总量列才会统计

 

例如:  总量   小计    份额  ...   ....

 

              10     3       30%

 

              10     2       20%

 

              10     5       50%

 

If e.DataCol.Name = "项目编号" OrElse e.DataCol.name = "岗位层级" Then \'发生变化的是"任务编号"和"岗位层级"列.

   If e.DataRow("岗位层级") = "中层正职" OrElse e.DataRow("岗位层级") = "中层副职" Then

    e.DataRow("总量") = DataTables("表A").Compute("Sum(小计)","[项目编号] = \'" & e.DataRow("项目编号") & "\'and 岗位层级 Like \'%中层%\'")

    end if

end if

 

      现在计算出来是

             总量   小计    份额  ...   ....

 

              3     3       100%

 

              5     2       40%

 

              10    5       50%

[此贴子已经被作者于2017/6/13 14:52:29编辑过]

--  作者:有点色
--  发布时间:2017/6/13 16:35:00
--  

If e.DataCol.Name = "项目编号" OrElse e.DataCol.name = "岗位层级" Then \'发生变化的是"任务编号"和"岗位层级"列.

   If e.DataRow("岗位层级") = "中层正职" OrElse e.DataRow("岗位层级") = "中层副职" Then

       e.DataTable.ReplaceFor("总量", e.DataTable.Compute("Sum(小计)","[项目编号] = \'" & e.DataRow("项目编号") & "\' and 岗位层级 Like \'%中层%\'"), "[项目编号] = \'" & e.DataRow("项目编号") & "\' and 岗位层级 Like \'%中层%\'")

   End If

End If