Vba 如何使用recordsource数据的子集打开MS Access报告?

Vba 如何使用recordsource数据的子集打开MS Access报告?,vba,ms-access,report,ms-access-2010,Vba,Ms Access,Report,Ms Access 2010,我有一个查询,该查询生成一个记录集,用于使用MS Access报告创建的计算机生成的发票。记录集看起来像这样(但有数百张发票): 我已设置了报告,因此它将在不同页面上为系统中的每个发票生成单独的完全填写的发票。不过,我不想为了找到我想要打印的具体版本而不得不搜索数百个 我有另一个MS Access表单,操作员使用该表单通过下拉组合框和按钮选择要打印的发票。在我使用下拉菜单选择要打印的发票(比如17-003)之后,我想点击按钮,让报告只显示一张发票。如何让报表只显示该记录集的一个子集 如果有必要,

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

我已设置了报告,因此它将在不同页面上为系统中的每个发票生成单独的完全填写的发票。不过,我不想为了找到我想要打印的具体版本而不得不搜索数百个

我有另一个MS Access表单,操作员使用该表单通过下拉组合框和按钮选择要打印的发票。在我使用下拉菜单选择要打印的发票(比如17-003)之后,我想点击按钮,让报告只显示一张发票。如何让报表只显示该记录集的一个子集


如果有必要,我可以使用现有的访问函数或编写VBA代码,但如果可能的话,我不希望默认为VBA。

报表数据集动态筛选选项:

  • 动态参数化查询作为报表记录源,它可以是弹出式输入或对窗体上控件的引用-我从不使用动态参数化查询

  • 在“设计”视图中手动打开报表,设置“过滤器”属性,然后将报表切换为“打印预览”,然后再打印

  • 代码(宏或VBA)通过引用窗体上的控件打开报表时应用筛选器,例如VBA:
    DoCmd.OpenReport“报表名称”、“ControlNumber=”、&Me.cbxCN&“


  • 报表数据集的动态筛选选项:

  • 动态参数化查询作为报表记录源,它可以是弹出式输入或对窗体上控件的引用-我从不使用动态参数化查询

  • 在“设计”视图中手动打开报表,设置“过滤器”属性,然后将报表切换为“打印预览”,然后再打印

  • 代码(宏或VBA)通过引用窗体上的控件打开报表时应用筛选器,例如VBA:
    DoCmd.OpenReport“报表名称”、“ControlNumber=”、&Me.cbxCN&“


  • 如果不想使用VBA,请使用filter属性引用表单上的组合框值。并确保
    FilterOnLoad
    设置为Yes。如何设置filter属性?我似乎无法做到这一点。请参阅@June7 answer的选项2如果不想使用VBA,请使用filter属性引用表单上的组合框值。并确保
    FilterOnLoad
    设置为Yes。如何设置filter属性?我似乎没法做到这一点。参见@June7答案的选项2
    ControlNumber|ShippingAddress|InventoryDescription|...
    17-001        123 Fake St     Description A
    17-002        145 No addr     Description B
    17-003        23456 new st    Description C