注册 登录
Office中国论坛/Access中国论坛 返回首页

t小宝的个人空间 http://www.office-cn.net/?71896 [收藏] [复制] [分享] [RSS]

日志

IIf 函数的陷阱

热度 1已有 2122 次阅读2015-5-20 08:49 |个人分类:Access

IIf 函数有3个参数,可以是3个表达式,第1个表达式的值为真时返回第2个表达式的值,为假则返回第3个表达式的值。
虽然只是返回1个值,但IIf却要把所有表达式都计算一遍。按理说第1个表达式为真时,只计算第2个表达式的值即可,但却多余地把第3个表达式也计算了。因为这个原因,使得IIf函数的效率比较低,更严重的是还造就了一个陷阱。
请看下面的代码:
y = IIf(x = 0, 0, 1 / x)
为了避免除0错误,在IIf的第1个参数中判断当x=0时,直接返回0。但当x真的等于0时,结果还是会出现除0错误,因为IIf把第3个表达式也计算了!

发表评论 评论 (1 个评论)

回复 zhuyiwen 2015-6-8 09:52
精辟!

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-3-28 18:02 , Processed in 0.062286 second(s), 18 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部