Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 访问VBA-应用筛选器-多个或多个条件_Ms Access_Vba - Fatal编程技术网

Ms access 访问VBA-应用筛选器-多个或多个条件

Ms access 访问VBA-应用筛选器-多个或多个条件,ms-access,vba,Ms Access,Vba,我在Microsoft Access 2010中将我的工作宏转换为VBA脚本(也在工作): DoCmd.ApplyFilter "", "[Forename] Like ""*"" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & ""*""", "" 我使用了相同的格式(我相信),尝试扩展此过滤器以处理多个字段,尽管它不起作用: DoCmd.ApplyFilter "", "[Forename] Like "

我在Microsoft Access 2010中将我的工作宏转换为VBA脚本(也在工作):

   DoCmd.ApplyFilter "", "[Forename] Like ""*"" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & ""*""", ""
我使用了相同的格式(我相信),尝试扩展此过滤器以处理多个字段,尽管它不起作用:

   DoCmd.ApplyFilter "", "[Forename] Like ""*"" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & ""*"" Or [Surname] Like ""*"" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & ""*""", ""
这就是我所说的无效的意思:如果我的数据是: [姓名][姓氏] 亚历克斯·博布斯 克里斯·迪恩


然后键入,例如“alex”或“a”,根本不会过滤结果。另一方面,只有一个筛选器的代码确实缩小了数据范围。

您可以尝试另一种应用筛选器的方法:

me.filter=“[forename]如“*”&me.StaffTotalSearchText&“*”&_
“或类似于“*”&Me.StaffTotalSearchText&“*”的[姓氏]
me.filter=true
编辑

正如@Andre所评论的,我使用了单引号(撇号)来封装我的字符串。您的vba应与以下更改一起使用:

   DoCmd.ApplyFilter "", "[Forename] Like '*" & _
   [Forms]![StaffTotalQuery]![StaffTotalSearchText] & "*'" & _
   " Or [Surname] Like '*" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & "*'"

您可以尝试另一种应用过滤器的方法:

me.filter=“[forename]如“*”&me.StaffTotalSearchText&“*”&_
“或类似于“*”&Me.StaffTotalSearchText&“*”的[姓氏]
me.filter=true
编辑

正如@Andre所评论的,我使用了单引号(撇号)来封装我的字符串。您的vba应与以下更改一起使用:

   DoCmd.ApplyFilter "", "[Forename] Like '*" & _
   [Forms]![StaffTotalQuery]![StaffTotalSearchText] & "*'" & _
   " Or [Surname] Like '*" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & "*'"

是否有任何错误消息?你说的“不工作”是什么意思?没有错误信息。这就是我所说的“无效”的意思:如果我的数据是:姓名:alex,chris |姓氏:bobs,dean,那么键入“alex”或“a”,根本不会过滤结果。另一方面,只有一个过滤器的代码确实缩小了数据范围。是否有任何错误消息?你说的“不工作”是什么意思?没有错误信息。这就是我所说的“无效”的意思:如果我的数据是:姓名:alex,chris |姓氏:bobs,dean,那么键入“alex”或“a”,根本不会过滤结果。另一方面,只有一个筛选器的代码确实缩小了数据范围。关键是使用单引号作为标准分隔符,此筛选器字符串还应与
DoCmd.ApplyFilter
一起使用@建议的第二种方法很有魅力。非常感谢,安德烈和利亚姆!关键是使用单引号作为标准分隔符,此筛选字符串还应与
DoCmd.ApplyFilter
一起使用@建议的第二种方法很有魅力。非常感谢,安德烈和利亚姆!