次の方法で共有


Report.Open イベント (Access)

Open イベントは、レポートをプレビューまたは印刷する前に発生します。

構文

開く (キャンセル)

Report オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Cancel 必須 整数型 (Integer) フォームまたはレポートを開くかどうかを設定します。 引数 CancelTrue (1) に設定すると、フォームまたはレポートの開きが取り消されます。

戻り値

なし

解説

たとえば、Open イベント マクロまたは Open イベント プロシージャを使って、フォームに表示するレコード セットを抽出するための条件や、レポートに含める日付の範囲を入力するためのカスタム ダイアログ ボックスを開くことができます。

クエリを基にするレポートを開いた場合は、レポートの基になるクエリが実行される前に Open マクロや Open イベント プロシージャが Microsoft Access によって実行されます。 これにより、ユーザーはレポートを開く前に条件を指定できます。たとえば、カスタム ダイアログ ボックスでは、 Open イベントが発生したときに表示されます。

複数のフォームを同時に読み込むアプリケーションの場合、フォーカスが他のフォームに移動したときに、カスタム ツールバーの表示と非表示を切り替えるには、Open イベントの代わりに Activate イベントおよび Deactivate イベントを使います。

たとえば、Close イベントが発生したときに、他のウィンドウを開いたり、フォームやレポートを使用したユーザーを示すログ エントリを作成するために、ユーザー名を入力するダイアログ ボックスを表示したりすることができます。

マクロまたはイベント プロシージャに Open イベントと Load イベントのどちらを使用するかを決定しようとしている場合、大きな違いの 1 つは 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 のサポートおよびフィードバックを参照してください。