我有一个Access Query,使用
过滤我数据库中的表Like "*" & [Forms]![Reports]![Filter] & "*"
如果选择了该过滤器,则会抓取过滤的项目,如果未选择该过滤器,则返回所有内容。但是,它错过了Null值。如果未选择过滤器,则字符串变为
Like **
,它不会捕获Null值。
如何以我描述的方式捕获这些值?
答案 0 :(得分:2)
以上两个答案都是正确的,但是提供一些添加的上下文NULL无法与任何东西进行比较。它不是'不是5','不像“**”,'不像“ foo ”',而不是'日期< #12/31/0000 BC#',而不是假,你明白了。选择它的唯一方法是像上面的专家那样做,IS NULL或IS NOT NULL。
答案 1 :(得分:1)
在Microsoft Access查询条件中,您可以使用OR
:
Like "*" & [Forms]![Reports]![Filter] & "*" Or Is Null
...让Null 不返回,然后使用:
Is Not Null
...或者,
Like "*" & [Forms]![Reports]![Filter] & "*" And Is Not Null
答案 2 :(得分:1)
您可以通过或执行空检查来执行此操作,以便返回两个条件的数据 - >
(Like "*" & [Forms]![Reports]![Filter] & "*" OR MyField IS NULL)
此外,您应该能够检查UI缺少值 - >
(Like "*" & [Forms]![Reports]![Filter] & "*" OR [Forms]![Reports]![Filter] = "" )