Foxtable(狐表)用户栏目专家坐堂 → 查询表生成器中带有逻辑判断的表达式


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

主题:查询表生成器中带有逻辑判断的表达式

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


加好友 发短信
等级:三尾狐 帖子:722 积分:7371 威望:0 精华:0 注册:2017/2/3 10:29:00
查询表生成器中带有逻辑判断的表达式  发帖心情 Post By:2020/4/5 9:40:00 [只看该作者]

老师好。我用查询表生成器生成查询表,出现了错误,请您帮忙解决下,谢谢老师!

Dim jb As New SQLJoinTableBuilder("查询表1","设备表")
jb.AddCols("设备名称", "数量","单价")
jb.AddExp("金额",iif("是否含税" = True,("数量 * 单价"),("数量 * 单价*1.06")))
Tables("窗口3_Table1").Fill(jb.BuildSql,"",True)


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


错误提示:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.1.19.19
错误所在事件:窗口,窗口3,AfterLoad
详细错误信息:
从字符串“是否含税”到类型“Boolean”的转换无效。
输入字符串的格式不正确。

[此贴子已经被作者于2020/4/5 23:22:38编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2177 积分:13784 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/4/5 10:08:00 [只看该作者]

jb.AddExp("金额",iif("是否含税" = 1,("数量 * 单价"),("数量 * 单价*1.06")))

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


加好友 发短信
等级:三尾狐 帖子:722 积分:7371 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2020/4/5 17:16:00 [只看该作者]

老师,把true  改 为 1 后,出现同样的错误。

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


加好友 发短信
等级:九尾狐 帖子:2177 积分:13784 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/4/5 20:52:00 [只看该作者]

哦 格式如下 : 

jb.AddExp("金额", "数量 * 单价")

你的整个表达式都写错了,表达式要用""包围起来, 你好好想想怎么构建这个表达式,先自己做,如果搞不定,我晚点再告诉你.


 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105470 积分:536335 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/5 22:40:00 [只看该作者]

jb.AddExp("金额","iif(是否含税 = True,数量 * 单价,数量 * 单价*1.06)")

如果是SqlServer,iif改为case when用法:http://www.foxtable.com/webhelp/topics/1827.htm

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


加好友 发短信
等级:三尾狐 帖子:722 积分:7371 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2020/4/6 0:05:00 [只看该作者]

蓝老师,我最终使用sqlserver,但我实在想不出用case或when如何代替iif。iif是一行语句,jb.AddExp 在一行语句中完成,如果改成case或when,就得多行。如何写代码?

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105470 积分:536335 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/6 10:07:00 [只看该作者]

jb.AddExp("金额"," case when 是否含税 = True then 数量 * 单价 else 数量 * 单价*1.06 end")

 回到顶部