有人可以告诉我在此查询中我做错了什么来获取计算列吗?
IIf(Left([VIN Number],2)="1F" OR "2F" OR "3F" OR "1L” OR “2L” OR “NM”,”Food”,"Comp")
它给我错误说“你可能已经输入了没有操作员的操作数”
答案 0 :(得分:2)
你不能有像......这样的复合条件。
Something = "a" OR "b"
您必须在Something =
...
OR
Something = "a" OR Something = "b"
对于您的查询IIf()
表达式,包含匹配值的In()
列表会更简洁......
IIf(Left([VIN Number],2) IN ("1F", "2F", "3F", "1L", "2L", "NM"), "Food", "Comp")
请注意,您的代码示例包含排版引号(“
和”
)。确保在实际代码中使用简单引号("
)。
答案 1 :(得分:1)
OR运算符并不像您期望的那样工作。它要求语句在其任何一方都解析为TRUE或FALSE,因此您无法检查某些内容是否等于此类内容之一。
您需要这样做:
Iif(Left([VIN Number],2)="1F" OR Left([VIN Number],2)="2F" OR Left([VIN Number],2)="3F"...., "Food", "Comp")
或者您需要这样做:
Iif(Left([VIN Number],2) In("1F","2F", "3F"....), "Food", "Comp")