【发布时间】:2018-07-03 01:14:29
【问题描述】:
我目前正在尝试在 access database 中创建一个 nested if statement 字段,该字段根据它必须满足的标准填充数据。
到目前为止,这是我在表达式生成器中的内容:
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"))))**
由于某种原因,它没有选择表达式中的最后一个参数(粗体),因此正在更新的数据不正确。
谁能告诉我我做错了什么?在 access database 中构建 nested if statements 是否有限制?
非常感谢!
【问题讨论】:
-
虽然@sergeys 提供了一个很好的答案,但您也可以考虑使用自定义函数来满足您的要求。对于小型数据集来说,它的命中或未命中会更快,但自定义函数比直接 SQL 慢。只需传入所有值并返回所需的结果。我发现这种方法更容易让我理解我在做什么。
标签: database ms-access if-statement nested expressionbuilder