以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何用手工代码统计row的某字段的和?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115942)

--  作者:guosheng
--  发布时间:2018/3/17 0:28:00
--  如何用手工代码统计row的某字段的和?
Dim dtb As New DataTableBuilder("建安指标统计")
dtb.AddDef("楼号", Gettype(String), 16)
dtb.AddDef("建筑面积", Gettype(Double),"","建筑面积(平米)")
……
dtb.build
……
For Each dr1 As Row In Tables("建安指标统计").rows
……

Dim dr4 As Row=Tables("建安指标统计").addnew
dr4("楼号")=“合计”
For i As Integer=4 To Tables("建安指标统计").cols.count-1
\'dr4(Tables("建安指标统计").cols(i).name)=Tables("建安指标统计").compute("sum(Tables("建安指标统计").cols(i).name)","楼号<>\'合计\'")----系统报错
messagebox.show(Tables("建安指标统计").compute("sum(土方及护坡_总价(元))","楼号<>\'合计\'"))  ---返回结果为空,不能实现求和
Next
……
[此贴子已经被作者于2018/3/17 6:20:33编辑过]

--  作者:有点蓝
--  发布时间:2018/3/17 8:57:00
--  
dr4(Tables("建安指标统计").cols(i).name)=Tables("建安指标统计").compute("sum(" & Tables("建安指标统计").cols(i).name & ")","楼号<>\'合计\'")

合成表达式是基本功来的,建议好好理解以下帮助的内容

--  作者:guosheng
--  发布时间:2018/3/17 10:43:00
--  
经过测试:
Tables("建安指标统计").compute("sum(建筑_总价(元))","楼号<>\'合计\'")     列名字为两层表头的,sum之后,求不出结果。
Tables("建安指标统计").compute("sum(建筑面积)","楼号<>\'合计\'")            列名字为单层表头的,sum之后,可以出结果。
怎么回事啊。谢谢。

--  作者:有点蓝
--  发布时间:2018/3/17 10:58:00
--  
Tables("建安指标统计").compute("sum([建筑_总价(元)])","楼号<>\'合计\'")