【问题标题】:How to open Access report in a subform/subreport of the main form that houses the controls如何在包含控件的主窗体的子窗体/子报表中打开 Access 报表
【发布时间】:2016-04-04 00:37:47
【问题描述】:

我有这个 MS Access VBA 代码,使用 MS Access 2016。

Private Sub cmdPreview_Click()
On Error GoTo Err_Handler

    Dim strReport As String
    Dim strDateField As String
    Dim strWhere As String
    Dim lngView As Long
    Const strcJetDate = "\#mm\/dd\/yyyy\#"

    strReport = "Sales Report V2"
    strDateField = "[OrderDate]"
    lngView = acViewReport

    If IsDate(Me.txtStartDate) Then
        strWhere = "(" & strDateField & " >= " & Format(Me.txtStartDate, strcJetDate) & ")"
    End If
    If IsDate(Me.txtEndDate) Then
        If strWhere <> vbNullString Then
            strWhere = strWhere & " AND "
        End If
        strWhere = strWhere & "(" & strDateField & " < " & Format(Me.txtEndDate + 1, strcJetDate) & ")"
    End If

    If CurrentProject.AllReports(strReport).IsLoaded Then
        DoCmd.Close acReport, strReport
    End If

    DoCmd.OpenReport strReport, lngView, , strWhere

Exit_Handler:
        Exit Sub

Err_Handler:
        If Err.Number <> 2501 Then
            MsgBox "Error " & Err.Number & ": " & Err.Description, vbExclamation, "Cannot open Report"
        End If
        Resume Exit_Handler
End Sub

这是用于使日期范围表单工作的代码。该表单允许您选择开始日期和结束日期。然后单击调用上述代码的按钮,报告将在新选项卡中生成。我想要实现但到目前为止还没有弄清楚。是如何使报表显示在包含日期范围控件的表单的子表单/子报表中,然后从那里单击一个按钮以在新选项卡中打开生成的报表或打印或用户满意的任何内容与选择。

此代码来自位于www.allenbrowne.com/casu-08.html的教程

【问题讨论】:

  • 那不是 VB.NET 代码

标签: ms-access vba ms-access-2016


【解决方案1】:

您可以设置随附报告的Filter 属性:

Me!NameOfYourSubreportControl.Report.Filter = strWhere
Me!NameOfYourSubreportControl.Report.FilterOn = True

要以正常方式打开报告,请使用您现有的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 2014-04-21
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多