如果参数,则访问查询

时间:2014-08-24 07:39:12

标签: ms-access iif

我正在寻找的论点是,如果Members.Status字段等于LA并且Member.Isresident字段为False,则Members.Locality字段将填充" LOST"在那个领域。我尝试以这种方式编写它并收到语法无效的错误。

Locality: Iif ([Members.status] = "LA" and ([isresident] "False", [members.locality], "LOST")

1 个答案:

答案 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语句,然后运行它以查看是否还有错误。