Foxtable(狐表)用户栏目专家坐堂 → [求助]无法合计


  共有4854人关注过本帖树形打印复制链接

主题:[求助]无法合计

帅哥哟,离线,有人找我吗?
swimmer01
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:201 积分:2085 威望:0 精华:0 注册:2018/5/4 14:45:00
[求助]无法合计  发帖心情 Post By:2022/2/8 22:59:00 [只看该作者]

老师,你好!
窗口上有一表Tables(_Sys_lsb2+"_Table1"),窗口AfterLoad部分代码:
Dim Builder As New DataTableBuilder("统计")
Dim str As String = ""
Builder.Adddef("内  容",Gettype(String),20)
Do
    Dim nm As String = dt.Year & "年_" & dt.Month & "月"
    If nm<>str Then
        str=nm
        Builder.Adddef(nm,Gettype(Double))
    End If
    dt = dt.Adddays(1)
    If dt > Enddate Then
        Exit Do
    End If
Loop
Tables(_Sys_lsb2+"_Table1").DataSource = Builder.BuildDataSource

有一按钮,部分代码:
Dim st As Double
For Each cl As Col In Tables(_Sys_lsb2+"_Table1").Cols
    If cl.Name <> "内  容" Then
        st = Tables(_Sys_lsb2+"_Table1").Compute("Sum(cl.Name)")
    End If
Next

结果:st都为0,不对,不知是啥原因。
请老师指正一下,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/8 23:15:00 [只看该作者]

st = Tables(_Sys_lsb2+"_Table1").Compute("Sum(“ & cl.Name & ”)")

 回到顶部
帅哥哟,离线,有人找我吗?
swimmer01
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:201 积分:2085 威望:0 精华:0 注册:2018/5/4 14:45:00
  发帖心情 Post By:2022/2/9 8:52:00 [只看该作者]

老师:
还不对,st 仍然为0

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/9 8:59:00 [只看该作者]

要做什么功能?

代码对所有列进行统计,如果列不是数值列,比如字符,日期,这个统计会出错的
其次遍历所有列的意义是什么?遍历完,st其实只是最后一个列的统计值。如果要汇总所有列的值,应该:
st = st + Tables(_Sys_lsb2+"_Table1").Compute("Sum(“ & cl.Name & ”)")

 回到顶部
帅哥哟,离线,有人找我吗?
swimmer01
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:201 积分:2085 威望:0 精华:0 注册:2018/5/4 14:45:00
  发帖心情 Post By:2022/2/9 9:13:00 [只看该作者]

按钮代码:
Dim dr1 As DataRow = DataTables(_Sys_lsb2+"_Table1").AddNew()
dr1("内  容") = "项目盈亏"
With Tables(_Sys_lsb2+"_Table1")
    .Position = .Rows.Count - 1
End With
Dim st As Double
For Each cl As Col In Tables(_Sys_lsb2+"_Table1").Cols
    If cl.Name <> "内  容" Then
        dr1(cl.Name) = Tables(_Sys_lsb2+"_Table1").Compute("Sum(" & cl.Name & ")")
    End If
Next

想做一个按月的盈亏分析

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/9 10:11:00 [只看该作者]

代码没有问题。有也是数据有问题,要么没有加载数据,要么本身数据就是0

 回到顶部
帅哥哟,离线,有人找我吗?
swimmer01
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:201 积分:2085 威望:0 精华:0 注册:2018/5/4 14:45:00
  发帖心情 Post By:2022/2/9 10:44:00 [只看该作者]

有加载数据,是不是和临时表有关。附
图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看
截图


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/9 11:01:00 [只看该作者]

做个例子发上来看看

 回到顶部
帅哥哟,离线,有人找我吗?
swimmer01
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:201 积分:2085 威望:0 精华:0 注册:2018/5/4 14:45:00
  发帖心情 Post By:2022/2/9 12:28:00 [只看该作者]

已解决,谢谢!

 回到顶部