Foxtable(狐表)用户栏目专家坐堂 → 关于非零值的计算问题


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

主题:关于非零值的计算问题

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


加好友 发短信
等级:幼狐 帖子:142 积分:1000 威望:0 精华:0 注册:2014/2/20 13:25:00
关于非零值的计算问题  发帖心情 Post By:2014/7/10 10:25:00 [只看该作者]

专家好,在我的项目中有一项开piao管理,是从已有的销售订单中选取记录(通过弹出窗口的方式)进行开piao操作,弹出窗口中分上下两个窗口,上面是销售订单主表,显示客户名称、订单编号等;下面是明细表,显示该客户该订单编号下的销售明细,如:销售了A商品5件(单记录),或者销售了A商5件、B商品3件、C商品1件(多记录
弹出窗口设置了一个仅显示"非零值"的条件,即某销售订单记录下如果满足所有商品所有数量均已开piao,则不显示该销售订单记录的明细;否则在明细中显示未开piao商品及数量

现在遇到的问题是:
在选择单记录(即一条销售订单中仅有一件商品)时计算没问题,在完成该件商品及数量的开piao后就不再显示;但在选择多记录(即一条销售记录中有多件商品)就会出现如下问题
如销售记录中有A商5件、B商品3件、C商品1件,但我这次实际需要开piao的项目是:A商品1件,B商品3件,操作完毕后再选择该条销售记录时,该记录中所有商品已开piao数量则变成了该销售订单的数量合计,未开piao数量则变成了负值

这里面有个关键是:
  1. 销售订单明细表和开piao明细表以销售订单号关联(关联名称:订单_开piao)
     下载信息  [文件大小:   下载次数: ]
    图片点击可在新窗口打开查看点击浏览该文件:boc库存及订单管理项目.zip

  2. 销售订单明细表中有一项表达式(开piao数量),我写成了:IsNull(Sum(Child(订单_开piao).开piao数量),0),即没有"开piao数量"时强制显示为0,这里的SUM会不会是出错的原因
  3. 但如果我把这个表达式写成:Child(订单_开piao).开piao数量,则系统显示:无法显示位置1的位置"child"
  4. 请问我该怎么做?

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


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

子表信息有多个, 是不可以直接这样引用子表的, 系统无法知道你要引用哪一行数据.

好比你有多个儿子,你直接喊"儿子过来" 谁知道你要喊谁? 

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


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

 你应该在fa piao明细表加入一列表达式列 是否开piao isnull(开piao数量, False)

 

 然后订单明细表的表达式 IsNull(Sum(Child(订单_开piao).是否开piao),0)


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


加好友 发短信
等级:幼狐 帖子:142 积分:1000 威望:0 精华:0 注册:2014/2/20 13:25:00
  发帖心情 Post By:2014/7/10 10:41:00 [只看该作者]

谢谢两位专家,但是我照您的意思做,出现了错误提示

无效的聚合函数 Sum()和类型 String 的用法。

请问这是怎么回事呢?

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


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

列类型只能是数值类型,  字符串类似是无法用SUM统计的

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


加好友 发短信
等级:幼狐 帖子:142 积分:1000 威望:0 精华:0 注册:2014/2/20 13:25:00
  发帖心情 Post By:2014/7/10 10:58:00 [只看该作者]

甜老师,我已经按照您说的进行了表达式的增加,并且表达式设置为整数型,但在弹出窗口中,已开piao数量的统计结果仍然是SUM整个销售订单的数量合计,麻烦您再帮我指导指导,谢谢!

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


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

有条件统计子表看这里http://www.foxtable.com/help/topics/2472.htm

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


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

 设置的关联有问题,订单_开piao 的关联,应该用 明细表的_Identify或明细表的编号 去关联,而不能用订单编号

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


加好友 发短信
等级:幼狐 帖子:142 积分:1000 威望:0 精华:0 注册:2014/2/20 13:25:00
  发帖心情 Post By:2014/7/10 11:15:00 [只看该作者]

谢谢甜老师,我刚才查看了一下,发现关联的两个表(销售订单明细表和开piao明细表),仅销售订单明细表中有 _Identify,开piao明细表中则没有,而您所说的明细表编号则都没找到!

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


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

 那么,你就根本不能这样子关联,关联么有什么效果。

 

 你计算开piao数量的时候,要用代码统计,参考跨表统计的知识点


 回到顶部
总数 11 1 2 下一页