Search MS ACCESS VBA高级筛选

Search MS ACCESS VBA高级筛选,search,filter,Search,Filter,我有一个过滤函数,在OnClick事件的[Subject]、[Case ID]和[Description]中搜索在txtSearch中输入的文本,如下所示: DoCmd.SetFilter , "[Subject] Like ""*"" & [Forms]![Caselist]![txtSearch] & ""*"" Or [Description] Like ""*&q

我有一个过滤函数,在OnClick事件的[Subject]、[Case ID]和[Description]中搜索在txtSearch中输入的文本,如下所示:

DoCmd.SetFilter , "[Subject] Like ""*"" & [Forms]![Caselist]![txtSearch] & ""*"" Or [Description] Like ""*"" & [Forms]![Caselist]![txtSearch] & ""*"" Or [Case ID] Like ""*"" & [Forms]![Caselist]![txtSearch] & ""*"""
除此之外,我还需要:

  • 切换按钮ActiveCase,当为TRUE时,将[状态]如“Aktive”添加到现有筛选器,或者如果未应用筛选器,则将其作为独立筛选器

  • 两个用于选择案例所有者和类别的组合框,也可以添加到现有筛选器或用作独立筛选器

  • 如果在任一组合框中选择了“未选择”,则不应应用组合框过滤器,或者至少应将其视为未对这些值进行过滤

  • 对于基于文本的搜索,我希望保留on click事件,但是对于两个组合框和复选框,我希望使用AfterUpdate或Change事件来触发它们,以便过滤器更新,而无需额外单击搜索按钮

非常感谢您的帮助。到目前为止,我看到的唯一解决方案是无休止地使用IF语句


我的另一个问题是,为什么这样做有效:

DoCmd.SetFilter , "[Description] Like '" & Me![txtSearch] & "'"
但当包含通配符时

DoCmd.SetFilter , "[Subject] Like ""*"" & Me!![txtSearch] & ""*"""
它不起作用,我必须像这样引用txtSearch:[表格]![案例列表]![txtSearch]

这上面有灯吗

非常感谢大家的帮助