以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [建议]果然IIF只能搞很简单的  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=112949)

--  作者:小美菜
--  发布时间:2018/1/5 15:42:00
--  [建议]果然IIF只能搞很简单的
对于简单的判断,我总喜欢用IIF,可是最近写的老出问题,今天才终于搞懂了点点。原因在于TrueValue、FalseValue,不管你条件是真是假,好像这两个都会先进行计算,可是问题偏偏出在这,因为条件对应的可以计算而另外一个是计算不到结果甚至会崩溃的,作为我其实只想根据条件计算需要的值,另外一个就不需要计算了,也会避免程序运行中出现错误甚至崩溃;改成if  then else endif一点问题都没有,所以建议这个IIF修改下
[此贴子已经被作者于2018/1/5 15:44:07编辑过]

--  作者:有点甜
--  发布时间:2018/1/5 17:10:00
--  
这个是iif函数的特性,也是函数的特性,两个表达式的内容都会计算处理的,没办法变通处理。
--  作者:小美菜
--  发布时间:2018/1/7 15:13:00
--  
但是希望能在函数说明中讲清除,说明中说与if then else endif 完全一样,所以在使用时老出问题,没法,后面我一步一步跟踪,才找到
--  作者:goblinkun
--  发布时间:2018/1/10 9:47:00
--  
这个锅得VB来背.....
--  作者:小美菜
--  发布时间:2018/1/19 22:15:00
--  至少VBA一点问题都没有!
至少VBA一点问题都没有!我用VBA比较多,没发现有什么问题,与if then else别无二样
--  作者:有点蓝
--  发布时间:2018/1/19 22:32:00
--  
这个是编程语言的语法规则,不同语言有不同的规则,不是谁想改就能改的。这个得找微软要说法