以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于IIF和isnull  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=95584)

--  作者:mayazql
--  发布时间:2017/1/24 11:05:00
--  关于IIF和isnull
1 sqlserver 的数据源
  Tables("PR查询_PRquery").Fill("Se lect 申请单号,到货数量 from prsub","wsdcsql",True)
  这条语句可以正常执行
  Tables("PR查询_PRquery").Fill("Se lect 申请单号,iif(IsNull(领用数量),0,领用数量) as 出库数量 from prsub","wsdcsql",True)
 这条语句就报错

2 若是改成内部数据源
  Tables("窗口1_Table1").Fill("Sel ect [申请单号],[数量],[到货数量],iif(isnull([领用数量]),0,([领用数量])) as 出库数量,([到货数量] - [出库数量]) as 在库数量  from {prsub}",True)
 这条语句也可以执行

不知道 Tables("PR查询_PRquery").Fill("Se lect 申请单号,iif(IsNull(领用数量),0,领用数量) as 出库数量 from prsub","wsdcsql",True)
怎么就不行。
请大神指教下。
弄了几天了。
谢谢  ---附件是内部数据源
[此贴子已经被作者于2017/1/24 11:06:05编辑过]

--  作者:mayazql
--  发布时间:2017/1/24 11:07:00
--  
编辑的时候不能传附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar



--  作者:有点色
--  发布时间:2017/1/24 11:26:00
--  

 

Sql数据源的函数和access的是不同的。

 

Tables("PR查询_PRquery").Fill("Select 申请单号, case when 领用数量 is null then 0 else 领用数量 end) as 出库数量 from prsub","wsdcsql",True)

 

或者

 

Tables("PR查询_PRquery").Fill("Select 申请单号, isnull(领用数量, 0) as 出库数量 from prsub","wsdcsql",True)

[此贴子已经被作者于2017/1/24 11:27:21编辑过]

--  作者:mayazql
--  发布时间:2017/1/24 11:35:00
--  
谢谢老师!