如何在 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")
这在 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")