Foxtable(狐表)用户栏目专家坐堂 → [求助]数据统计问题


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

主题:[求助]数据统计问题

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


加好友 发短信
等级:婴狐 帖子:10 积分:139 威望:0 精华:0 注册:2017/8/31 17:52:00
  发帖心情 Post By:2018/1/10 22:49:00 [只看该作者]

我要统计筛选出来的数据,只是计算  单次操作几笔数值的和。不知道这样描述,你能否看懂。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/10 23:09:00 [只看该作者]

datatable和table是不同的

 

http://www.foxtable.com/webhelp/scr/1467.htm

 


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


加好友 发短信
等级:婴狐 帖子:10 积分:139 威望:0 精华:0 注册:2017/8/31 17:52:00
  发帖心情 Post By:2018/1/10 23:17:00 [只看该作者]

我知道,我做了个临时的项目,麻烦大神看一下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.table


 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

Dim sum As Single
Dim Hjfy As WinForm.TextBox = e.Form.Controls("合计费用")
If e.Form.Controls("未结").checked
    sum = Tables("表C").Compute("Sum(费用合计)","收款情况= False Or 收款情况 Is Null")
ElseIf e.Form.Controls("已结").checked
    sum = Tables("表C").Compute("Sum(费用合计)","收款情况 = True")
Else
    sum = Tables("表C").Compute("Sum(费用合计)")
End If
hjfy.Text = sum

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


加好友 发短信
等级:婴狐 帖子:10 积分:139 威望:0 精华:0 注册:2017/8/31 17:52:00
  发帖心情 Post By:2018/1/11 19:02:00 [只看该作者]

您的程序我看了,代码并不是我要实现的结果,我需要统计求和的都是 “收款情况 = True”的,只是求的是单次操作的结果。checked控件只是作为条件语句筛选的。我按照你的代码和我想要的结果把代码改成了
Dim sum As Single
Dim Hjfy As WinForm.TextBox = e.Form.Controls("合计费用")
If e.Form.Controls("未结").checked
    sum = Tables("表C").Compute("Sum(费用合计)","收款情况= true")
ElseIf e.Form.Controls("已结").checked
    sum = Tables("表C").Compute("Sum(费用合计)","收款情况 = True")
Else
    sum = Tables("表C").Compute("Sum(费用合计)","收款情况 = True")
End If
hjfy.Text = sum
运行结果和我的代码一样。

 e.Form.Controls("未结").checked=true,筛选出列表后,改变收款情况的值为true,sum仍然等于0。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/11 20:04:00 [只看该作者]

这样处理,compute函数在你筛选后再修改筛选列的值的时候有问题。

 

Dim sum As Single
Dim Hjfy As WinForm.TextBox = e.Form.Controls("合计费用")
For Each r As Row In Tables("表C").Rows
    sum += iif(r("收款情况")=True, r("费用合计"), 0)
Next

hjfy.Text = sum

 


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


加好友 发短信
等级:婴狐 帖子:10 积分:139 威望:0 精华:0 注册:2017/8/31 17:52:00
  发帖心情 Post By:2018/1/11 22:04:00 [只看该作者]

好吧,看来这个梗只能曲线救国了!!感谢哈   

 回到顶部
总数 17 上一页 1 2