以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  新增的临时表达式列,打开窗口不计算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61705)

--  作者:kao_go
--  发布时间:2014/12/17 16:11:00
--  新增的临时表达式列,打开窗口不计算
新增的临时表达式列,打开窗口不计算,默认是空的,更改数字后才会计算
Dim cmc As String   \'水平方向自动汇总(添加临时列)
Dim c As Col
Dim ci As Integer
For ci=1 To tb.cols.Count-1  \'从第二列到最后一列
    c=tb.cols(ci)
    cmc=cmc+"+["+c.Name+"]"  \'生成合计列的表达式
Next
cmc=cmc.SubString(1)
tb.DataTable.DataCols.Add("合计",Gettype(Integer),cmc) \'添加临时列(表达式列)做合计
图片点击可在新窗口打开查看此主题相关图片如下:000.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-12-17 16:12:12编辑过]

--  作者:有点甜
--  发布时间:2014/12/17 16:15:00
--  

这样写

 

Dim str As String = ""
For Each c As Col In Tables("表A").Cols
    If c.IsNumeric Then
        str &= "isnull(" & c.Name & ",0)+"
    End If
Next
msgbox(str.Trim("+"))


--  作者:kao_go
--  发布时间:2014/12/17 16:16:00
--  
找到了,是因为有空值的原因,可是空值要用哪个函数替换成0 ??
--  作者:kao_go
--  发布时间:2014/12/17 16:17:00
--  
好的,明白了。谢谢甜版