使用多个相互构建的组合框过滤表单

Posted

技术标签:

【中文标题】使用多个相互构建的组合框过滤表单【英文标题】:filter a form using multiple combo boxes that build on each other 【发布时间】:2017-10-04 20:24:37 【问题描述】:

我正在使用一个表单,该表单在 access 2016 中显示我的表中的所有字段。每次从下拉列表中选择我的选项时,我想创建 5 个组合框,这些组合框相互构建。此外,我希望我的过滤器立即工作(写在更新后部分) - 我不想单击按钮来计算我的过滤器。我感兴趣的唯一按钮是“清除所有过滤器”。我认为我所有的组合框都是字符串;我将它们命名为:cboCaseType、cboReviewer、cboMonth、cboCompleted、cboClientName。 我的表很大,因此我通常每天在后端使用多达 5 个过滤器进行导航。如果我能把它放在前端表单上就太好了。

为了方便起见,我选择了我的月份字段作为文本而不是日期。它显示为 201710。你能告诉我如何实现它吗?任何帮助将不胜感激!!!

【问题讨论】:

这称为级联或依赖组合框。共同话题。如果您不想要按钮,则代码必须在每个组合框 AfterUpdate 事件中设置过滤器或调用设置过滤器的过程或使用动态参数化查询作为表单 RecordSource 并且代码将重新查询表单。现在开发代码,当您遇到特定问题时,发布问题。 您以文本形式存储的月份字段会回来并把您当作一个糟糕的选择。将日期存储为日期,您可以轻松提取所需日期的任何部分。文本可以而且会误输入 210702 或 20172 吗?哪个是正确的? 【参考方案1】:

您将在此处获得一些出色的代码和示例数据库:http://allenbrowne.com/ser-62.html

它确实使用一个按钮来应用过滤器,但您可以在每次组合更新后轻松调整它以进行过滤。

【讨论】:

以上是关于使用多个相互构建的组合框过滤表单的主要内容,如果未能解决你的问题,请参考以下文章

根据多个组合框过滤查询,但如果组合框为空,则显示所有记录,包括空,

从表单上的多个组合框控制 Access SQL 查询

如何在 Access 中将一个控件源与来自用户表单的多个组合框一起使用?

使用带有数值的组合框访问过滤器表单

基于两个组合框选择的过滤器表单

使用组合框过滤子表单