根据用户输入Microsoft Access

时间:2017-05-02 14:56:06

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

我很抱歉,如果这是一个简单/直接的解决方案,但我是Access的新手,我的报告遇到了一些问题。

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

相反,当用户尝试打开报告时,我希望它提示用户输入他们要查找的特定报告的标识号,以便它只打开与输入的相关的单个1页报告IDENT NO。

关于如何实现此过滤的任何想法?

2 个答案:

答案 0 :(得分:0)

您可以显示一个InputBox,供用户插入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

答案 1 :(得分:0)

使用InputBox的另一种方法是使用“参数查询”(文档here

在查询条件或报告设计视图中的任何位置,您都可以输入[IdentNoVariable],然后会出现一个对话框(运行报告或查询时),要求您为IdentNoVariable“输入参数值”。

例如,如果您想在查询期间限制ID号(例如报表所调用的查询):

enter image description here

在运行查询时出现的对话框出现了,并且在查询条件中看到了变量的文本。通过在报告中需要输入值的部分输入[IdentNoVariable],可以在报告中完成同一操作。