如何使用 setfilter 和基于组合框的访问报告?
Posted
技术标签:
【中文标题】如何使用 setfilter 和基于组合框的访问报告?【英文标题】:How to use setfilter with access report based on combox? 【发布时间】:2017-05-23 06:33:49 【问题描述】:我有一个表格 (form1
) 。
我有一个报告 (report1
),这个报告有 4 个字段:
我需要根据form1
中的组合框(名为cboname
)中的用户选择来过滤此报告。
如何根据cboname
为report1
设置一个只包含NameEmp
的过滤器?
我已经尝试过使用这个 VBA 代码:
DoCmd.Setfilter Where condtion :- [NameEmp]= forms!Form1 [cboname]
Event: On Open_Report1
非常感谢。
【问题讨论】:
欢迎来到 ***。在提问之前,您应该考虑阅读How to Ask 指南。有关该站点的更多信息,您可以访问tour 页面。 抱歉,您发布的代码不是 VBA(至少,它违反了 VBA 的多个语法规则)。这让我很难理解您正在尝试做什么并对您的代码进行故障排除。在尝试将 VBA 代码集成到数据库之前,请先尝试遵循 VBA 教程。 谢谢,Erik 先生,但我对 VBA 代码不感兴趣,我想说的是:我想通过使用组合框根据用户选择为我的报告设置一个过滤器。因此,如果用户选择第一个选项,则报告将根据此选择进行过滤,但如果用户确实选择了任何内容,则报告将打开所有信息而无需任何过滤。就是这样。 【参考方案1】:查询报告并在 ID 条件下放置 [forms]![form1]![cboname]
感谢您的帮助,但这仍然不是我想要的,因为如果我想构建许多组合框,这意味着我必须为许多组合框构建许多查询。 第二:见下例: 如果我建立一个包含多个字段的查询(我会将您的条件放在每个字段的前面):
-
ID [forms]![form1]![cbonID]
NameEmp [forms]![form1]![cboname]
dataHiring [forms]![form1]![cbodataH]
工资 [forms]![form1]![cboSal]
访问将根据标准运行查询,现在我明白了,但是,如果用户想要所有员工姓名以及 2012 年之前的招聘数据怎么办。如果用户还选择所有工资高于 3000 美元的所有信息(ID、NameEmp ,dataHiring)..等等。
一份报告的多项选择,这意味着很多查询!!!
我想设置过滤器,如果用户没有选择任何内容,则删除应用的过滤器。
【讨论】:
这不是我想要的。以上是关于如何使用 setfilter 和基于组合框的访问报告?的主要内容,如果未能解决你的问题,请参考以下文章