您好,提前致谢,
需要快速帮助查询IIF和IN运算符。
尝试在查询中实现下面提到的标准但是不适用于这种情况“In(”Ordered“,”Pending“)”但是如果我在没有IN运算符的情况下放置单个值,那么它就可以工作。
Like IIf([Forms]![ReportCriteriaSelection]![StatusForSup]=0,IIf(IsNull([Forms]![ReportCriteriaSelection]![RepCritOdrStatus]),"*",[Forms]![ReportCriteriaSelection]![RepCritOdrStatus]),In ("Ordered", "Pending"))
答案 0 :(得分:2)
我将在这个答案中假设这个条件的主题是 FieldX 。只需将其替换为 Like 运算符左侧的任何内容。
您无法将 赞 和 In 运算符组合在一起。如果您解决了所有 IIf 条件,那么错误的表达式实际上归结为:
FieldX Like In ("Ordered", "Pending")
...这是无效的语法。有效的可能是:
FieldX Like "Ordered"
或:
FieldX In ("Ordered", "Pending")
由于您希望在此 FieldX 上使用不同的运算符,具体取决于其他条件,您需要使用多个WHERE条件来表达它:
WHERE ( [Forms]![ReportCriteriaSelection]![StatusForSup] = 0
AND FieldX = Nz([Forms]![ReportCriteriaSelection]![RepCritOdrStatus], FieldX)
)
OR ( Nz([Forms]![ReportCriteriaSelection]![StatusForSup],1) <> 0
AND FieldX IN ("Ordered", "Pending")
)
以上内容应与您的目标相同。我使用了Nz function。