Report.Open 事件 (Access)

Open 事件會在預覽或列印報表之前發生。

語法

表達式。開 啟 (取消)

表達 代表 Report 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Cancel 必要 Integer 此設定值會決定表單或報表是否開啟。 將 Cancel 自變數設定為 True (1) 會取消窗體或報表的開啟。

傳回值

無

註解

例如, 開啟 [ 巨集或事件程序可以開啟自訂對話方塊中的使用者輸入來篩選要顯示在表單或報表包含的日期範圍的資料錄集的準則。

當您開啟以基本查詢為基礎的報表時,Microsoft Access 會在執行報表的基本查詢之前,先執行 Open 巨集或事件程序。 這可讓用戶在報表開啟之前指定其準則;例如,在自定義對話框中,您會在 Open 事件發生時顯示。

如果您的應用程式一次可以載入多個表單,請使用 Activate 和 Deactivate 事件,而不是 Open 事件,在焦點移至不同的表單時顯示和隱藏自訂工具列。

您可以在 Close 事件發生時開啟另一個視窗,或是要求使用者輸入名稱以便將使用表單或報表的使用者記錄下來。

如果您嘗試決定是否要針對巨集或事件過程使用 Open 或 Load 事件,其中一個顯著的差異是 Open 事件可以取消,但 Load 事件無法取消。 例如,如果您要在表單的 Open 事件事件過程中動態建立表單的記錄來源,則如果沒有要顯示的記錄,您可以取消開啟表單。 同樣地, Unload 事件可以取消,但 Close 事件則無法。

範例

下列範例會示範如何使用結構化查詢語言 (SQL) 陳述式來建立報表的資料來源為開啟。

Private Sub Report_Open(Cancel As Integer)

    On Error GoTo Error_Handler

    Me.Caption = "My Application"

    DoCmd.OpenForm FormName:="frmReportSelector_MemberList", _
    Windowmode:=acDialog

    'Cancel the report if "cancel" was selected on the dialog form.

    If Forms!frmReportSelector_MemberList!txtContinue = "no" Then
        Cancel = True
        GoTo Exit_Procedure
    End If
    Me.RecordSource = ReplaceWhereClause(Me.RecordSource, _
      Forms!frmReportSelector_MemberList!txtWhereClause)

Exit_Procedure:
    Exit Sub

Error_Handler:
    MsgBox Err.Number & ": " & Err.Description
    Resume Exit_Procedure
    Resume

End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。