以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [原创]表达式出错求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95033)

--  作者:liguichuan
--  发布时间:2017/1/8 19:56:00
--  [原创]表达式出错求助
表达式出错,请问是哪个地方出错了?
不知怎么回事,一直上传不了图片和附件,只能通过百度网盘来分享了。
操作图片:http://pan.baidu.com/s/1dFEBM17
例子(开发板):http://pan.baidu.com/s/1hsv8QZ6

--  作者:liguichuan
--  发布时间:2017/1/8 19:57:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:表达式求助.jpg
图片点击可在新窗口打开查看

--  作者:liguichuan
--  发布时间:2017/1/8 19:59:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:表达式计算出错.foxdb


--  作者:liguichuan
--  发布时间:2017/1/8 19:59:00
--  
回复时就可以上传附件,主界面发表时就一直不行,晕菜呀?
--  作者:liguichuan
--  发布时间:2017/1/8 21:14:00
--  
试了很久,终于可以了:

这样写不行:IIF([收入时间]=null,IIF([完工时间]=null,\'A类资源\',\'B类资源\'),IIF([完工时间]=null,\'出错\',\'D类资源\'))
要这样写才行:IIF([收入时间] is null,IIF([完工时间] is null,\'A类资源\',\'B类资源\'),IIF([完工时间] is null,\'出错\',\'D类资源\'))

-------------------------------------------------------------------------------------------------------------------------------------------

这样写也不行:IIF(len([收入时间]) = 0,IIF(len([完工时间]) = 0,\'A类资源\',\'B类资源\'),IIF(len([完工时间]) = 0,\'出错\',\'D类资源\'))
这样写也不行:IIF(len([收入时间]) = null,IIF(len([完工时间]) = null,\'A类资源\',\'B类资源\'),IIF(len([完工时间]) = null,\'出错\',\'D类资源\'))
要这样写才行:IIF(len([收入时间]) is null,IIF(len([完工时间]) is null,\'A类资源\',\'B类资源\'),IIF(len([完工时间]) is null,\'出错\',\'D类资源\'))

看来在表达式中,要判断字符串是不是为空,不能用【\'\'】(单引号),也不能直接【=null】,只能用【is null】来判断呀。
所以,下面这样写也是可以的:
IIF(IsNull([收入时间],\'\')=\'\',IIF(IsNull([完工时间],\'\')=\'\',\'A类资源\',\'B类资源\'),IIF(IsNull([完工时间],\'\')=\'\',\'出错\',\'D类资源\'))