Vba 根据用户输入筛选报告Microsoft Access

Vba 根据用户输入筛选报告Microsoft Access,vba,ms-access,ms-access-2010,Vba,Ms Access,Ms Access 2010,如果这是一个简单/直接的解决方案,我深表歉意,但我是新手,我的报告一直存在一些问题 我已经创建了一个报告模板,我想根据特定的标识号打开一个单页报告。然后,报告中的所有字段都会从关联的标识号生成。目前的情况是,当我打开报告时,它会在打开时为报告数据表中的每个ID号创建一个单页报告 相反,当用户试图打开报告时,我希望它提示用户输入他们正在查找的特定报告的标识号,以便它只打开与输入的标识号关联的单个单页报告 有没有关于如何实现此筛选的想法?您可以显示一个输入框,供用户插入ID,然后打开并筛选报告 Di

如果这是一个简单/直接的解决方案,我深表歉意,但我是新手,我的报告一直存在一些问题

我已经创建了一个报告模板,我想根据特定的标识号打开一个单页报告。然后,报告中的所有字段都会从关联的标识号生成。目前的情况是,当我打开报告时,它会在打开时为报告数据表中的每个ID号创建一个单页报告

相反,当用户试图打开报告时,我希望它提示用户输入他们正在查找的特定报告的标识号,以便它只打开与输入的标识号关联的单个单页报告


有没有关于如何实现此筛选的想法?

您可以显示一个输入框,供用户插入ID,然后打开并筛选报告

Dim id As String
    id = InputBox("Enter the identification number:", "YourInputBoxTitle")

'if a value was entered, open and filter report
If Len(Trim(id)) > 0 Then
    DoCmd.OpenReport "ReportName", acViewPreview, , "[IDENT NO] = " & id, acWindowNormal
End If
使用InputBox的另一种方法是使用参数查询文档

在查询条件或报表设计视图中的任何位置,您都可以输入[Identinovariable],当运行报表或查询时,会出现一个对话框,要求您输入Identinovariable的参数值

例如,如果要在查询过程中限制ID,请说出报表调用的查询:


运行查询时出现的对话框显示了查询条件中的变量文本。在报告中,也可以通过在需要输入值的部分输入[IdentinVariable]来完成同样的操作。

在打开报告之前,您需要弹出一个模式表单,要求用户输入识别号。然后,在用户输入该编号后,您需要重新设置报告的来源。将其设置为Select*from MyQuery,而不是Select*from MyQuery,其中IDENT_NO=&MyPopupForm.MyText.Text&检查此代码是否会进入报告属性页中的On Load事件中?运行此代码并在文本框中输入标识号后,我收到运行时错误3270-找不到属性。知道为什么会出现这个问题吗?不,它不在那里,它通常放在表单中按钮的点击事件上。如何打开报告?需要将ReportName更改为报告名称,[Identit NO]更改为id字段的名称。我猜这是一个数字,是吗?我通过单击“所有访问对象”侧栏中的报告来打开报告。此外,我已将ReportName更改为它的实际名称,但我不确定[Identit NO]的具体名称,因为我没有创建此报告,只是负责为其创建筛选器。是否有地方可以找到[识别号]的实际名称?