我最近开始学习和使用微软访问。但是,我担心有些事情真的困扰我。它与验证规则相关联。所以这是我的问题:
我必须验证一个字段,这样才能写出字母。当然我用Google搜索并找到了正确的语法。 (Is Null or Not Like "*[!a-z]*")
起初我尝试使用(Is Null or Like "*[a-z]*")
,我认为应该与上面的相同。它检查字符串中的每个符号是否在'a'和'z'之间,这就是它与两边的方尖碑*
符号一起使用的原因。我是对的吗?
我的问题是:为什么第二个不起作用,尽管它是与第一个相当的双重否定。对任何解释都会感到高兴。提前谢谢!
P.S很抱歉,如果这个问题对你来说似乎没用,但我确实想知道我在哪里错了。
答案 0 :(得分:1)
考虑字符串'a1b'。
Like "*[!a-z]*"
将在字符串中搜索不在“a”...“z”范围内的任何字符。它在第二个位置找到'1'并返回True
。因此,Not Like "*[!a-z]*"
会返回False
。
另一方面,Like "*[a-z]*"
在字符串中搜索“a”..“z”范围内 的任何字符。它在第一个位置找到'a'并返回True
。