以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]动态根据指定的表达式和条件进行计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34406)

--  作者:VIP用户
--  发布时间:2013/6/7 9:21:00
--  [求助]动态根据指定的表达式和条件进行计算
如题:动态根据指定的表达式和条件进行计算

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

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


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

--  作者:XYT
--  发布时间: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
--  发布时间:2013/6/7 9:23:00
--  
拼接一下就好啊
假如你是根据当前行

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

--  作者:VIP用户
--  发布时间:2013/6/7 9:30:00
--  
谢谢您们的回复,“Bin”的代码正是我所期望的!