以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  iif函数参数的个数不对  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144403)

--  作者:lfz123
--  发布时间:2019/12/19 9:47:00
--  iif函数参数的个数不对
老师,帮我看下这个SQL语句的错误提示:
cmd.CommandText = "S ELECT [科目代码],[科目名称],iif(方向 = \'借\',IsNull([期初余额],0) + ISNULL([借方累计],0) - ISNULL([贷方累计],0),IsNull([期初余额],0) + ISNULL([贷方累计],0) - ISNULL([借方累计],0)) as 期末余额  From {会计科目}"

.NET Framework 版本:4.0.30319.1026
Foxtable 版本:2019.12.6.1
错误所在事件:
详细错误信息:
用于函数参数的个数不对 在查询表达式 \'iif(方向 = \'借\',IsNull([期初余额],0) + ISNULL([借方累计],0) - ISNULL([贷方累计],0),IsNull([期初余额],0) + ISNULL([贷方累计],0) - ISNULL([借方累计],0))\' 中。

--  作者:y2287958
--  发布时间:2019/12/19 9:50:00
--  
iif(条件,返回值1,返回值2)
--  作者:有点蓝
--  发布时间:2019/12/19 9:55:00
--  
access数据库?

IsNull([期初余额],0)这种 改为 IIF([期初余额] is null,0,[期初余额])
[此贴子已经被作者于2019/12/19 9:58:20编辑过]

--  作者:lfz123
--  发布时间:2019/12/19 9:59:00
--  回复:(有点蓝)access数据库?IsNull([期初余额],0)...
是的喔
--  作者:有点蓝
--  发布时间:2019/12/19 10:07:00
--  
表达式里,或者SqlServer才有IsNull这种用法。access改为使用iif判断