Access 2010:条件“非 a”或“非 b”被忽略

Access 2010:条件“非 a”或“非 b”被忽略

Access 2010 标准问题

以下工作:

  • “A”
  • “b”
  • “a” 或 “b”
  • 不是“a”
  • 不是“b”

以下不起作用

  • 非“a”或非“b”

在这里,标准被完全忽略了。

这是为什么?

我并不是在寻找解决方法,只是在寻找解释。

答案1

标准不是被忽略,而是标准是始终得到验证

考虑一下:

  • (not "a")匹配任何不等于的内容"a"(因此这将包括"b"
  • (not "b")匹配任何不等于的内容"b"(因此这将包括"a"

因此,(not "a") or (not "b")将始终返回所有记录。

另一种思考方式是:

(not "a") or (not "b") 

相当于:

not ("a" and "b")

由于某物不可能同时存在"a",因此"b"这一点总是会得到验证。


我怀疑你实际上需要这样的逻辑:

(not "a") and (not "b")

也可以等效地写成:

not ("a" or "b")

也就是说,既不是,"a"也不是"b"

相关内容