以文本方式查看主题

-  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=46878)

--  作者:ifastudy
--  发布时间:2014/2/28 16:27:00
--  [求助]关于iif的逻辑

msgbox(iif(args.length=0,"[完成入库]=False","[工单编号]=\'" & args(0) & "\'"))

当args.length=0时,上面的语句报错.

iif语句中,第二个参数和第三个参数是同时计算的吗?为什么不是先计算第一个参数,然后再决定计算第二个或还第三个参数?


--  作者:Bin
--  发布时间:2014/2/28 16:32:00
--  
用IF语句吧
--  作者:jspta
--  发布时间:2014/2/28 17:48:00
--  
以下是引用ifastudy在2014-2-28 16:27:00的发言:

msgbox(iif(args.length=0,"[完成入库]=False","[工单编号]=\'" & args(0) & "\'"))

当args.length=0时,上面的语句报错.

iif语句中,第二个参数和第三个参数是同时计算的吗?为什么不是先计算第一个参数,然后再决定计算第二个或还第三个参数?



尽量少用IIF函数,看似很简洁,但是存在很多隐患

IIF是函数,不是语句,所以肯定会先计算导入参数,args(0)不存在直接就报错了

[此贴子已经被作者于2014-2-28 17:50:36编辑过]