IIF 和 LEFT 函数

IIF and LEFT functions

有人可以告诉我我在这个查询中做错了什么以获得计算列吗?

IIf(Left([VIN Number],2)="1F" OR "2F" OR "3F" OR "1L” OR “2L” OR “NM”,”Food”,"Comp")

它给我错误说 "you may have entered an operand without an operator"

你不能有像...这样的复合条件

Something = "a" OR "b"

您必须在 OR 之后重复 Something = ...

Something = "a" OR Something = "b"

对于您查询的 IIf() 表达式,包含匹配值的 In() 列表会更简洁...

IIf(Left([VIN Number],2) IN ("1F", "2F", "3F", "1L", "2L", "NM"), "Food", "Comp")

请注意您的代码示例包含排版引号()。确保在您的实际代码中使用普通引号 (")。

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")