Foxtable(狐表)用户栏目专家坐堂 → [求助]SQLGroupTableBuilder中如果列是空值


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

主题:[求助]SQLGroupTableBuilder中如果列是空值

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


加好友 发短信
等级:九尾狐 帖子:2202 积分:18130 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]SQLGroupTableBuilder中如果列是空值  发帖心情 Post By:2016/1/1 9:50:00 [只看该作者]

Dim b As New SQLGroupTableBuilder("统计表1","订单")
b.
Totals.AddExp("金额","数量 * 单价 * (1-折扣)")


这是帮助中的说明。

此时,如果用户并没有在“折扣”列输入任何值,即折扣列是空值,执行这个,显示的金额就会是0


此时,除了去计单表中将折扣列的值设为0外,还有什么办法可以让金额计算出来呢?

b.Totals.AddExp("金额","数量 * 单价 * (1-isnull(折扣,0))")       -------这样会报错


另外,要想在表达式中四舍五入,写成下面这样,会报错

b.Totals.AddExp("金额","math.round(数量 * 单价 * (1-折扣),2)")    -----这样也会报错,应当如何解决?



如果想同时解决上面两个问题,又当如何?

[此贴子已经被作者于2016/1/1 21:14:15编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/3 23:14:00 [只看该作者]

你的事access数据源吧?

 

b.Totals.AddExp("金额","数量 * 单价 * (1-iif(折扣 is null,0,折扣))")


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


加好友 发短信
等级:九尾狐 帖子:2202 积分:18130 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/1/4 11:55:00 [只看该作者]

我的是内部表呀,还没有用外部数据库

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/4 11:57:00 [只看该作者]

内部表,就是access数据库,看2楼语法

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


加好友 发短信
等级:九尾狐 帖子:2202 积分:18130 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/1/4 15:35:00 [只看该作者]

如果要加入round算法取整呢?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/4 15:37:00 [只看该作者]

直接用里面的函数,用format也可以

 

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

 


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


加好友 发短信
等级:九尾狐 帖子:2202 积分:18130 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/1/4 16:03:00 [只看该作者]

貌似不行呀

图片点击可在新窗口打开查看此主题相关图片如下:无标题2.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/4 16:18:00 [只看该作者]

多表统计这个例子,使用外部数据源的,你要指定数据源名。

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


加好友 发短信
等级:九尾狐 帖子:2202 积分:18130 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/1/4 16:22:00 [只看该作者]

内部数据表不行吗?

ConnectionName: 指定数据源名称,如果省略,表示使用内部数据表。
[此贴子已经被作者于2016/1/4 16:32:06编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/4 16:33:00 [只看该作者]

可以啊,但是你这个例子是外部数据源的啊

 回到顶部