如何在 Microsoft Access 中执行嵌套的 If / and 语句?

How to do a nested If / and statement in Microsoft Access?

这在 excel 中很容易做到,但是,我不知道如何在 Access 中做同样的事情,出于某些原因需要在 Access 中做。

我有一个 table 可以根据销售额确定佣金支付百分比。因此,如果销售额为 250 美元,则支出为 0%。如果是 3500 美元,则支付率为 1%。全部集中在一个巨大的 table 中。见下面的例子

=iif(AND([gross commission]>0,[gross commission]<501),"0%",iif(AND([gross commission ]>500,[gross commission ]<1501),"1.25%",iif(AND([gross commission]>1500,[gross commission ]<5001),"1%",iif(AND([gross commission ]>5000,[gross commission]<10001),".9%",iif(AND([gross commission ]>10000,[gross commission ]<20001),".8%",iif(AND([gross commission]>20000,[gross commission ]<50001),".7%",iif(AND([gross commission ]>50001),".6%","problem"))))))))

我收到一个无效的语法错误,“您可能在前面的值或标识符中输入了逗号 w/o”。我没有 Google 处理此类嵌套公式的搜索结果。

非常感谢所有建议

您的要求没什么特别的。 IIf() 模式仍然适用:
IIf(conditional expression here, do this if true, else do this if false).
您的要求的访问语法为:
=IIf([gross commission]>0 AND [gross commission]<501, "0%", IIf(... )))))))

但是,AND 复合条件不是必需的。

考虑:

=IIf([gross commission]<501,"0%", 
IIf([gross commission]<1501,"1.25%", 
IIf([gross commission]<5001,"1%", 
IIf([gross commission]<10001,"0.9%", 
IIf([gross commission]<20001,"0.8%", 
IIf([gross commission]<50001,"0.7%", 
IIf([gross commission]>=50001,"0.6%","problem")))))))

或者:

=Switch([gross commission]<501,"0%", 
[gross commission]<1501,"1.25%", 
[gross commission]<5001,"1%", 
[gross commission]<10001),"0.9%", 
[gross commission]<20001),"0.8%", 
[gross commission]<50001),"0.7%", 
[gross commission]>=50001,"0.6%", 
True, "problem")