Foxtable(狐表)用户栏目专家坐堂 → 除数为0计算结果出现错误提示


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

主题:除数为0计算结果出现错误提示

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/6 10:56:00 [显示全部帖子]

Dim g As New GroupTableBuilder("统计表1", DataTables("表A"))
g.Groups.AddDef("栏舍")
g.Totals.AddDef("耗料量")
g.Totals.AddDef("种蛋数")
g.GroupProportion = True
g.Build()
MainTable = Tables("统计表1")
Tables("窗口1_Table1").DataSource = DataTables("统计表1")

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/6 12:13:00 [显示全部帖子]


你是要哪种结果:::???

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/6 14:23:00 [显示全部帖子]

是要8楼的结果吗? 那个图? 总得给个样式吧~
[此贴子已经被作者于2009-11-6 14:25:40编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/6 16:05:00 [显示全部帖子]

以下是引用liuruihua在2009-11-6 15:14:00的发言:
要的是8楼的第二张图的结果,问题是我在新建的表中则没发现代码有问题,而在原系统的表中则出现错误提示,说什么除数为0。不知具体原因是什么,有点头晕了。图片点击可在新窗口打开查看

1、第二张图的结果:那是7楼c版的代码生成的。
2、删除原系统中的 Catch 这个文件夹后,再试一试。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/6 17:46:00 [显示全部帖子]

以下是引用程兴刚在2009-11-6 17:29:00的发言:
不用试了,应该是贺老师在这里支持的表达式不全造成,建议改进:

目前出现错误的原因是b.Exprs.Adddef()的表达式不支持iif()和isnull()判断。


必须支持这样的写法:

b.Exprs.Adddef("料蛋比","iif(IsNull([种蛋数],0) = 0,0,IsNull([耗料],0)/IsNull([种蛋数],0))",AggregateEnum.Average)

理由:没有iif()判断,[种蛋数]为零出错,因为计算机不允许0做除数
        没有isnull()判断,种蛋数从来没有输入过数据时出错。

1、学习了~  又长点知识啊~  呵呵
2、记得狐爸已经修改过了,新版本中这种统计时的空值和零值已被排除了呀。所以7楼代码没有问题了。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/6 20:45:00 [显示全部帖子]

以下是引用liuruihua在2009-11-6 20:22:00的发言:

不是打开方式造成。新版本中这种统计是排除了空值,但不排除零值。只要在上面例子的种蛋数中录入0,再进行统计,则会出现错误提示(因为输入0值时,料蛋比列的值会显示正无穷大)。删除0值则正常,害得我瞎折腾了一天。图片点击可在新窗口打开查看

那就把0值全部换成空值好了。
  


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/6 21:41:00 [显示全部帖子]

以下是引用liuruihua在2009-11-6 20:22:00的发言:

不是打开方式造成。新版本中这种统计是排除了空值,但不排除零值。只要在上面例子的种蛋数中录入0,再进行统计,则会出现错误提示(因为输入0值时,料蛋比列的值会显示正无穷大)。删除0值则正常,害得我瞎折腾了一天。图片点击可在新窗口打开查看

其实,你早用程版给的 iif(IsNull([种蛋数],0) = 0,0,IsNull([耗料量],0)/IsNull([种蛋数],0)) 放在表达式列(料蛋比列),再用7楼c版的代码放在按钮中,已经ok了。。。。。。。。。。。不管种蛋数列是0或空值都ok!!!


 回到顶部