如何在 Microsoft Access 中显示报表内的记录集

问题描述 投票:0回答:1

我试图在我制作的报告中显示记录集的结果,我的过程是在表单上选择一年,然后单击一个按钮,单击该按钮后,它将将该年份发送到报告并运行以下Report_Open代码:

Private Sub Report_Open(Cancel As Integer)
    Dim rst As Recordset
    Dim qdf As QueryDef
    Dim subReport As Report
    If Not IsNull(OpenArgs) Then
        
        Set qdf = CurrentDb.QueryDefs("qry")
        qdf.Parameters("[Year]").Value = OpenArgs
        Set rst = qdf.OpenRecordset()
        qdf.Close

        'Code to fill the report'
        
        '''''''''''''''''''''''''          

    Else
        DoCmd.Close
    End If
End Sub

我正在尝试将该记录集的结果显示在我的报告上。由于查询的性质,结果可能会有很大差异,因此我不能只将结果设置在一定数量的文本框中。

我试图将报表的 RecordSource 设置为此记录集,但我了解到您不能对记录集执行此操作。我对如何制作报告很陌生,所以我已经在这方面坚持了几天,感觉有点失败。非常感谢任何帮助。

vba ms-access report recordset
1个回答
0
投票

这不是在 Access 中执行此操作的方式。直接将您的查询名称分配给报告的记录源。然后 Access 将自动创建记录集。

然后您可以通过指定 where 子句来打开报告:

DoCmd.OpenReport "rptReport", acViewPreview, WhereCondition:="[Year] = " & theYear
© www.soinside.com 2019 - 2024. All rights reserved.