>我目前正在表单上使用过滤器:
Me.Filter = "[duedate] = '" & Me.duedatesearch & "' And [employeename] Is Null"
Me.FilterOn = True
这工作正常。我正在努力解决的是试图排除来自称为"工作"的不同领域的结果。例如,如果满足上述条件并且为"工作"不像"荷马"。不像似乎不是一个有效的 VBA 运算符。有什么想法吗?
谢谢。
我尝试了以下方法:
Me.Filter = "[duedate] = '" & Me.duedatesearch & "' And [employeename] Is Null" And Not [workingfor] Like "Homer"
Me.FilterOn = True
返回运行时错误"13":类型不匹配
当前代码的几个问题:
-
正如您在发布问题时从语法突出显示中观察到的那样,过滤器的最后一部分不是初始字符串的一部分,因为您在
Null
后面有一个双引号。 -
除非将
Like
表达式括在括号内,否则相应的运算符Not Like
。
例如:
Me.Filter = "[duedate] = '" & Me.duedatesearch & "' And [employeename] Is Null And [workingfor] Not Like 'Homer'"
Me.FilterOn = True
但是,由于您在Like
模式中没有使用任何通配符运算符,因此也可以使用不等于运算符 (<>
( 编写:
Me.Filter = "[duedate] = '" & Me.duedatesearch & "' And [employeename] Is Null And [workingfor] <> 'Homer'"
Me.FilterOn = True
除此之外,我觉得很奇怪,您的字段[duedate]
似乎是一个字符串值字段,而不是日期字段。