Access数据库 - 嵌套的If语句

时间:2018-01-24 04:38:44

标签: database ms-access if-statement nested expressionbuilder

我目前正在尝试在nested if statement中创建一个access database字段,该字段根据必须满足的条件填充数据。

到目前为止,这就是我在表达式构建器中所拥有的:

IIf([JDE Aging Report].[Term]="PPL" And [JDE Aging Report].[OpenAmount]>0,"PPL Sale", 
IIf([JDE Aging Report].[Term]="PPL" And [JDE Aging Report].[OpenAmount]<0,"PPL Credit", 
IIf([JDE Aging Report].[Term]="AE" Or "DSC" Or "MC" Or "VSA" And [JDE Aging Report].[OpenAmount]<0,"CC Credit",
 **IIf([JDE Aging Report].[Term]="AE" Or "DSC" Or "MC" Or "VSA" And [JDE Aging Report].[OpenAmount]>1,"CC Sale"))))**

由于某种原因,它没有拾取表达式中的最后一个参数(粗体),因此正在更新的数据不正确。

有人能告诉我我做错了什么吗?在nested if statements

中构建access database时是否存在限制?

非常感谢!

1 个答案:

答案 0 :(得分:1)

最后的Iif应该是

IIf(([JDE Aging Report].[Term]="AE" Or 
[JDE Aging Report].[Term]="DSC" Or 
[JDE Aging Report].[Term]="MC" Or 
[JDE Aging Report].[Term]="VSA") And 
[JDE Aging Report].[OpenAmount]>1,"CC Sale")

IIf([JDE Aging Report].[Term] In ("AE", "DSC", "MC", "VSA") And 
[JDE Aging Report].[OpenAmount]>1,"CC Sale")

以前的Iif应该做类似的改变。

还要确保条件中使用的字段不为空,否则结果可能不正确。

相关问题