Foxtable(狐表)用户栏目专家坐堂 → [求助]动态根据指定的表达式和条件进行计算


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

主题:[求助]动态根据指定的表达式和条件进行计算

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


加好友 发短信
等级:童狐 帖子:218 积分:2330 威望:0 精华:0 注册:2009/7/14 1:06:00
[求助]动态根据指定的表达式和条件进行计算  发帖心情 Post By:2013/6/7 9:21:00 [只看该作者]

如题:动态根据指定的表达式和条件进行计算

例如:表A,根据指定产品计算数量
Tables("表A").Compute("Sum(数量)""产品 = 'PD01'")

以上代码指定的是固定条件:产品 = 'PD01'


求助:如何动态指定条件?
比如:当选定的产品是“PD01”,则指定条件就为“产品 = 'PD01'”当选定的产品是“PD02”,则指定条件就为“产品 = 'PD02'”当选定的产品是“PD03”,则指定条件就为“产品 = 'PD03'”

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


加好友 发短信
等级:六尾狐 帖子:1418 积分:7167 威望:0 精华:0 注册:2013/3/18 8:37:00
  发帖心情 Post By:2013/6/7 9:23:00 [只看该作者]

统计不同产品的销售数量和金额:

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef(
"产品", Gettype(String), 16)
dtb.AddDef(
"数量", Gettype(Integer))
dtb.AddDef(
"金额", Gettype(Double))
dtb.Build()

For Each
nm As String In DataTables("订单").GetUniqueValues("","产品")
   
Dim dr As DataRow = DataTables("统计").AddNew()
    dr(
"产品") = nm
    dr(
"数量") = DataTables("订单").Compute("Sum(数量)","[产品] = '" & dr("产品") & "'")
    dr("金额") = DataTables("订单").Compute("Sum(金额)","[产品] = '" & dr("产品") & "'")

Next
MainTable
= Tables("统计")

看下,帮助有很多这些例子


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/6/7 9:23:00 [只看该作者]

拼接一下就好啊
假如你是根据当前行

Tables("表A").Compute("Sum(数量)""产品 = '" & tables("表A").current("产品") & "'")

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


加好友 发短信
等级:童狐 帖子:218 积分:2330 威望:0 精华:0 注册:2009/7/14 1:06:00
  发帖心情 Post By:2013/6/7 9:30:00 [只看该作者]

谢谢您们的回复,“Bin”的代码正是我所期望的!

 回到顶部