嵌套的IIf语句有效,但是Switch语句在MS Access中产生“溢出”错误。为什么?

问题描述 投票:0回答:1

我正在处理的查询显示了相对于一个人的一般收入的保险单成本百分比。

嵌套的IIf方法:

percentage: IIf([general_income]=0,"No income",
IIf(IsNull([PolicyValue]),"No policy",
IIf([PolicyValue]>[general_income],"Error",
Format([PolicyValue]/[general_income],"Percent"))))

切换方法:

percentage: Switch(
[general_income]=0,"No income",
IsNull([PolicyValue]),"No policy",
[PolicyValue]>[general_income],"Error",
True,Format([PolicyValue]/[general_income],"Percent")
)

我最初的方法是Switch方法,在调试时我认为溢出错误是由零除引起的,因为有关该主题的其他各种文章都指出了该错误,在我的情况下,也就是将随机数(例如1)除以[ general_income除以​​零代替了溢出错误。

但是,考虑到第一种情况,general_income永远不会为0。关于导致Switch场景中的Overflow错误的原因的任何想法?

ms-access switch-statement iif
1个回答
0
投票

来自Switch Function

Switch计算表达式的all

© www.soinside.com 2019 - 2024. All rights reserved.