微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MS Access:如何将 Is Null 包含到查询条件的 IIF 语句的结果中如果搜索字段留空,则添加“is Null”

如何解决MS Access:如何将 Is Null 包含到查询条件的 IIF 语句的结果中如果搜索字段留空,则添加“is Null”

我正在寻求帮助。我制作了一个包含四个字段的示例表:

国家 城市 地点 IS_EMPLOYEE

我创建了一个搜索表单,其中包含这四个字段作为输入和一个搜索按钮来启动以下保存的查询

SELECT NullTest.Country,NullTest.City,NullTest.Location,NullTest.IsPerm FROM NullTest WHERE ((NullTest.Country) Like "*" & Forms!ATest!input_COUNTRY & "*" Or (NullTest.Country) Is Null) And ((NullTest.City) Like "*" & Forms!Atest!input_CITY & "*" Or (NullTest.City) Is Null)

到目前为止一切都很好,我在 ITALY 中搜索了所有内容,并返回了 ITALY 国家/地区和所有其他字段的所有内容,无论它们是否为空白 (NULL)

但是,使用该代码,我然后搜索 Country=ITALY 和 City=MILAN,它会返回 ITALY 和 MILAN 中的所有记录以及城市留空的位置

我想要实现的是: 用户是否将 City 留空,然后搜索 Country = ITALY AND City Is Null 如果用户也填写 City 则搜索 Country = ITALY AND City = abc(但不包括空格)

我为两个 das 尝试了许多变体,但没有任何结果:

我尝试了所有口味的 NZ(City),结果返回 0 行 我已经尝试了没有“OR Is Null”选项的所有字段,虽然这适用于精确数据,但它排除了我不想要的空白,因为数据是“脏的”

我得到的最接近的是:

((NullTest.City) = IIF(IsNull(Forms!ATest!_inputCITY),(NullTest.City) Is Null,(NullTest.City)=Like "*" & Forms!Atest!input_CITY & "*"))

但是Access在运行查询时返回的错误是太复杂了(它允许我保存它) 请注意,如果我将“Is Null”替换为“ROME”,如果搜索字段为空,它会在查询中返回“ROME”,因此理论上 IIF 语句有效,只是不适用于“Is Null”

非常感谢任何建议。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。