Access VBA单列双关键词AND过滤代码问题求助
解决Access单列双关键词AND逻辑过滤的问题
嘿,我来帮你搞定这个Access过滤的小麻烦!你的代码目前有两个核心问题,咱们一步步修正:
首先,你的代码里用了OR逻辑,但你需要的是AND来实现两个关键词同时匹配;其次,字符串拼接的语法有错误,比如OR &这种写法不符合VBA的字符串拼接规则,引号和连接符&的位置都不对。
下面是修正后的完整代码,我给你拆解说清楚:
ElseIf Not IsNull([Keyword1_Filter]) And Not IsNull([Keyword2_Filter]) Then Me.Filter = "Description_Of_Query Like '*" & Keyword1_Filter & "*' AND Description_Of_Query Like '*" & Keyword2_Filter & "*'" Me.FilterOn = True End If
关键修改点说明:
- 把
OR替换成AND,这样就要求Description_Of_Query列必须同时包含两个关键词才会匹配 - 完整拆分两个模糊匹配条件:每个关键词都要单独写
Like判断,再用AND连接这两个条件,确保逻辑严谨 - 修正字符串拼接:所有引号和
&连接符都正确配对,保证VBA能正确解析过滤语句
修改后,你的过滤逻辑就会变成:只有当Description_Of_Query列同时包含关键词1和关键词2时,才会显示对应的记录,完全符合你要的AND逻辑~
内容的提问来源于stack exchange,提问作者MusicMan
相关产品推荐
相关产品推荐

