我正在创建一个导航表单,其中一些导航按钮只是将过滤器应用于子表单。问题是现在每个选项都是独占的,即我可以通过分支或职位选择员工。如何使选项不是独占的,以便我可以一次应用多个过滤器?
编辑只是为了添加。我不了解VBA所以我试图使用图形界面和宏来做到这一点。如果使用这些工具无法完成,那么我会找到一个不同的解决方案。
答案 0 :(得分:1)
如果使用新值替换表单(或子表单)上的.Filter
属性,则前一个过滤器将消失。如果您将新子句附加到现有的.Filter
字符串,例如通过改变......
[Branch]="Main"
...到...
[Branch]="Main" AND [Title]="Manager"
...然后新过滤器应用这两个标准。
答案 1 :(得分:1)
此解决方案需要适量的VBA(我无法想到不需要它的解决方案)。将用户的选择存储在模块级变量中,然后使用主ApplyFilters
子例程应用过滤器。
例如,为每个复选框指定一个AfterUpdate事件。这个事件将做两件事:
由于所有用户的选择现在都存储在模块级变量中, ApplyFilters 可以全部查看。它会:
1=1
)其他说明: 从主窗体访问子窗体的控件很简单。要将子表单的过滤器更改为字符串NewFilter,请尝试:
Forms!MyMainFormsName!MySubFormsName.Filter=NewFilter