我正在寻找的论点是,如果Members.Status字段等于LA并且Member.Isresident字段为False,则Members.Locality字段将填充" LOST"在那个领域。我尝试以这种方式编写它并收到语法无效的错误。
Locality: Iif ([Members.status] = "LA" and ([isresident] "False", [members.locality], "LOST")
答案 0 :(得分:3)
示例中的括号不平衡。有两个(
但只有一个)
。
在[isresident]
和"False"
之间添加等号。如果isresident
为是/否数据类型,请删除False
周围的引号。
重复使用字段名称作为表达式的别名会让您遇到麻烦。您可以使用其他别名来避免麻烦,例如adjusted_locality
而不是Locality
。但是,如果您希望将Locality
保留为别名,请将其括起来,如下例所示。
由于我不知道您尝试使用该表达式的上下文,我建议您尝试使用这个简单的SELECT
来计算IIf
表达式的语法。< / p>
SELECT
IIf(m.Status="LA" And m.isresident=False, m.locality, "LOST") AS [Locality]
FROM Members AS m;
您可以创建一个新查询,切换到SQL视图,粘贴该SELECT
语句,然后运行它以查看是否还有错误。