以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]表达式列统计报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47468)

--  作者:lwj396086371
--  发布时间:2014/3/10 23:25:00
--  [求助]表达式列统计报错

统计报错,不知咋解决,说明如下:

1、<销售订单>与<销售订单明细>为关联表

2、<销售订单明细>表中【金额】列为表达式列

3、因同种型号商品在销售时有可能单价不一样,所以统计时无法通过 【统计数量】*【单价】 计算,我的功能想实现该型号商品总共销售多少数量及总金额

碰到问题为:在代码中把<销售订单明细表>中【金额】列加入统计列就报错,取消【金额】列就好了

现附代码如下:

Dim b As New SQLGroupTableBuilder("汇总统计","销售订单明细")
b.AddTable("销售订单明细","销售单号","销售订单","销售单号")
b.Groups.AddDef("货物名称")
b.Groups.AddDef("生产厂家")

b.Groups.AddDef("提货机型")
b.Totals.AddDef("数量")
b.Totals.AddDef("{销售订单明细}.金额")
b.VerticalTotal = True
b.Build
MainTable = Tables("汇总统计")


图片点击可在新窗口打开查看此主题相关图片如下:销售订单.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:销售订单明细.png
图片点击可在新窗口打开查看

--  作者:sloyy
--  发布时间:2014/3/10 23:37:00
--  
表达式列无法直接统计,要换一种方式统计
--  作者:有点酸
--  发布时间:2014/3/11 8:25:00
--  

Dim b As New SQLGroupTableBuilder("汇总统计","销售订单明细")
b.AddTable("销售订单明细","销售单号","销售订单","销售单号")
b.Groups.AddDef("货物名称")
b.Groups.AddDef("生产厂家")

b.Groups.AddDef("提货机型")
b.Totals.AddDef("数量")
b.Totals.Addexp("金额","单价 * 数量")
b.VerticalTotal = True
b.Build
MainTable = Tables("汇总统计")

 

帮助有介绍表达式列的处理:

http://www.foxtable.com/help/topics/1626.htm

 

[此贴子已经被作者于2014-3-11 8:25:03编辑过]

--  作者:lwj396086371
--  发布时间:2014/3/11 9:28:00
--  

关键是同种商品销售时单价不一样


--  作者:狐狸爸爸
--  发布时间:2014/3/11 9:34:00
--  

不影响统计结果的准确性,因为表达式计算的时候,是将每个订单明细的数量和单价相乘,得出金额,然后累计金额。

 

你可以测试一下


--  作者:Bin
--  发布时间:2014/3/11 9:35:00
--  
金额列不要用表达式列,改为在DataColChanged用代码计算.即可.

if e.datacol.name="单价" orElse e.datacol.name="数量" then
  if e.datarow.isnull("单价")=false andalso e.datarow.isnull("数量")=false then
     e.datarow("金额")=e.datarow("单价")*e.datarow("数量")
  end if
end if

--  作者:jnletao
--  发布时间:2014/3/11 9:38:00
--  
一句题外话建议,楼主 申请帮助时请在 标题里注明你 问题的关键词,这样即便于老师们提前预知,也便于将来各们同学遇到类似问题时搜索。
--  作者:lwj396086371
--  发布时间:2014/3/11 9:54:00
--  
改为表达式列,测试时,金额列出现了但是是空值【解决了】
[此贴子已经被作者于2014-3-11 9:56:10编辑过]

--  作者:Bin
--  发布时间:2014/3/11 9:55:00
--  
上例子吧,或者考虑6楼的方案.
--  作者:lwj396086371
--  发布时间:2014/3/11 10:21:00
--  
当某一种商品销售单价不是固定,在统计报表中又不想反映每一个销售单号,是不是表达式列就无法进行统计,表达式列只能用代码实现