如何使用记录源数据的子集打开MS-Access报告?

时间:2017-04-20 16:26:04

标签: vba ms-access report ms-access-2010

我有一个查询,它生成一个记录集,用于我使用MS Access报告创建的计算机生成的发票。记录集看起来像这样(但有数百张发票):

ControlNumber|ShippingAddress|InventoryDescription|...
17-001        123 Fake St     Description A
17-002        145 No addr     Description B
17-003        23456 new st    Description C

我已设置报告,因此它会在系统中的每张发票的不同页面上为我生成单独的完全填写的发票。但是,我不想通过数百个搜索来找到我想要打印的特定文件。

我有另一个MS Access表单,操作员可以使用下拉组合框和按钮选择要打印的这些发票中的哪一个。在我使用下拉列表选择我要打印的那个(比如17-003)之后,我想点击按钮并弹出只有一张发票的报告。如何告诉报告只显示该记录集的子集?

我可以使用现有的Access函数或在必要时编写VBA代码,但如果可能的话,我宁愿不默认使用VBA。

1 个答案:

答案 0 :(得分:3)

动态过滤报告数据集的选项:

  1. 动态参数化查询作为报告RecordSource,这可以是弹出输入或对表单控件的引用 - 我从不使用动态参数化查询

  2. 在设计视图中手动打开报告并设置过滤器属性,然后将报告切换为打印预览然后打印

  3. 代码(宏或VBA)在报表打开时通过引用表单上的控件来应用过滤器,例如VBA:DoCmd.OpenReport "report name", , , "ControlNumber='" & Me.cbxCN & "'"