以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]这个公式如何做:要求选择门店求销售金额的和  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=4480)

--  作者:多多
--  发布时间:2006/10/20 19:01:00
--  [求助]这个公式如何做:要求选择门店求销售金额的和
[这个贴子最后由smileboy在 2006/11/01 11:11am 第 2 次编辑]

sumfor(grid,"销售金额","门店","=",[%列表1%])

[%列表1%]是窗口中选择的门店名称,变量表达式为字符,listcols(gridname),将其代入sumfor公式中无法求值,目的是要求选择门店的销售金额的和

不知道应该怎么做


--  作者:ylm
--  发布时间:2006/10/20 19:11:00
--  
[这个贴子最后由ylm在 2006/10/20 07:24pm 第 1 次编辑]

估计是语法错误吧,光凭这个不能说明什么,仔细看看帮助文件吧:

Sumfor
对指定表的指定列进行求和,可以设置多个条件。

语法:
Sumfor(Grid,Col,CompareCol,CompareMode,CompareValue......,StartRow,EndRow,Option)

Grid         对该表中的某一列进行求和,可以用表名表示,也可以用位置表示。
Col          对该列进行求和,可以用列名称表示,也可以用位置表示。
CompareCol   进行比较的列,可以用列名称表示,也可以用位置表示。
CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
CompareValue 比较值
StartRow     可选参数,指定开始计算的行。
EndRow       可选参数,指定结束计算的行。
Option       可选参数,如果设为1,则不统计隐藏行

可以设置多个比较条件,也可以不设置,从第三个参数开始,每三个参数组成一个比较条件。如果比较方式选择的是Instr,则进行包含查询;如果比较方式选择"Like",则可以在比较值中使用通配符进行类似查询。
注意StartRow和EndRow如果省略或全部设为0,表示包括所有行。

例子:
Sumfor("订单","数量","客户","=","CS01")
统计订单表中CS01客户订购产品的数量。

Sumfor("订单","数量","客户","=","CS01","产品","=","PD01")
统计订单表中CS01客户订购产品PD01的数量 。

Sumfor("订单","数量","折扣",">","0.1","产品","=","PD01")
统计订单表中以超过10%的折扣销售产品PD01的数量 。

Sumfor("订单","数量")
返回订单表中定购产品的总数量。

Sumfor("订单","数量","客户","=","CS01",0,0,1)
统计订单表中CS01客户订购产品的数量,不包括隐藏行。
该公式也可以这样设置:
Sumfor("订单","数量","客户","=","CS01",1,[订单!Rows],1)
效果和前面的公式是一样的。


如搞不定,上传文件看看.


--  作者:xjy
--  发布时间:2006/10/20 21:27:00
--  
listcols(gridname)中的gridname是当前表,如果你的sumfor(grid,"销售金额","门店","=",[%列表1%])表,并不是与listcols(gridname)为同一个表,自然就会得不到正确结果,正确的方法是把公式中的gridname和grid替换成正确的指定表名。
--  作者:韦长盛
--  发布时间:2006/10/21 22:14:00
--  
将[%列表1%]改为"%列表1%"

-=-=-=- 以下内容由 韦长盛2006年10月21日 10:16pm 时添加 -=-=-=-
以上有错,应将grid改为要统计的表名