レコードが含まれないレポートの印刷をキャンセルする

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

既定では、レコードが含まれないレポートの印刷が可能です。この問題を解決するには、マクロを使用するか、Microsoft Visual Basic for Applications (VBA) コードを使用して、レポートにレコードがあるかどうかを確認してから、印刷操作をキャンセルします。ここでは、両方の方法について説明します。

目的に合ったトピックをクリックしてください

マクロを使って印刷をキャンセルするには

VBA コードを使って印刷をキャンセルするには

レポートにレコードが含まれないと、ほとんどの場合は、レポートの印刷をキャンセルすることになります。たとえば、新しい製品の販売を開始し始めた場合は、まだ販売実績が 1 つも登録されていないことがあります。そのため、レポートの中には、詳細レコードが含まれない場合や、Count 関数のような集計関数でカウントする情報が含まれない場合があることを考慮しておく必要があります。このような状況に対応するために、印刷ジョブをキャンセルするマクロを作成できます。また、数行の VBA コードを追加しても、同じ作業を実行できます。VBA は、Microsoft Office Access 2007 で使用されるプログラム言語です。

レポートのなし Da でどっちイベント プロシージャには、マクロまたは VBA コードを追加します。Office Access 2007には、レコードがないレポートを実行するときにいつでもなしのデータのイベントが発生します。マクロと、この記事で説明する VBA コードは、適切なメッセージが表示され、そのレポートにデータが含まれていない場合は、レポートの印刷をキャンセルします。マクロまたは VBA コードなしのデータにイベント プロシージャを追加するときに、マクロまたは VBA コード、レコードが含まれていないレポートを開くたびを実行します。警告メッセージを閉じるには、 [ok]をクリックすると、マクロも空白のレポートを閉じます。レポート ビューまたはレイアウト ビューで表示しようとしたときに、空白のレポートが開くことはできませんレポート、マクロまたは VBA コードを追加すると、デザイン ビューでレポートを開くことができますが、します。

マクロを使用して印刷をキャンセルする

ここで説明するマクロは、レコードが含まれないレポートを印刷しようとすると、警告メッセージを表示します。[OK] をクリックして警告メッセージを閉じると、印刷操作は自動的にキャンセルされます。警告メッセージを表示しない設定にすると、レポートを印刷しようとしたときに何も表示されないため、ユーザーが混乱する場合があります。

マクロを作成する

  1. ナビゲーション ウィンドウで、変更するレポートを右クリックし、[デザイン ビュー] をクリックします。

  2. [デザイン] タブの [表示/非表示] グループの [プロパティ シート] をクリックします。

    - または -

    レポートの左上隅または右上隅 (地域の設定または言語設定により異なります) のボックスをダブルクリックします。

  3. [イベント] タブをクリックし、[空データプロパティ ボックスで、[ [ビルダー] ボタン ] をクリックします。

    [ビルダの選択] ダイアログ ボックスが表示されます。

  4. [マクロ ビルダ] をクリックし、[OK] をクリックします。

    マクロ デザイナが起動し、空白ページが表示されます。

  5. ページの最初の行で、[アクション] 列のフィールドをクリックし、一覧から [メッセージボックス] を選択します。

  6. マクロ デザイナの下部にある [アクションの引数] の [メッセージ] ボックスに、警告メッセージに表示するテキストを入力します。

    たとえば、「レポートの中にレコードがありません」のように入力できます。

  7. オプションで、[ビープ] ボックスの引数の値を Yes から No へ変更し、[種類] の一覧で警告メッセージ内に表示するアイコンの種類を選択します。

  8. [タイトル] ボックスに、警告メッセージのタイトルを入力します。

    たとえば、「レコードがありません」のように入力します。

    設定内容は、マクロ デザイナ上部の [メッセージボックス] アクションの横の [引数] 列に表示されます。

  9. マクロ デザイナの上部で、[アクション] 列 ([メッセージボックス] の直下のセル) で次のセルをクリックし、[イベントのキャンセル] を選択します。

    作成したマクロは次のようになります。ただし、引数に使用しているテキストは任意に設定できます。

    印刷処理をキャンセルするマクロの例

  10. [デザイン] タブの [閉じる] グループで、名前を付けて保存] をクリックし、[マクロの名前を入力して、[名前を付けて保存] ダイアログ ボックスを使用します。

  11. マクロを閉じます。警告メッセージが表示され、マクロとレポート プロパティの変更を保存するかどうかをたずねられた場合は、[はい] をクリックし、次の手順に進んでマクロのテストを行います。

マクロをテストする

  • ナビゲーション ウィンドウで、マクロを含むレポートを右クリックし、[印刷] をクリックします。選択したオプションにより異なりますが、次のような警告メッセージに似たメッセージが表示されます。

    データなしイベントの手続きで表示されるメッセージボックスを示す画像

    [OK] をクリックしてメッセージを閉じると、"CancelEvent/イベントのキャンセル" アクションが印刷操作を中止します。他のイベント (レポートの表示など) を指定していないため、レポートが閉じます。

ページの先頭へ

VBA コードを使用して印刷をキャンセルする

ここで説明する VBA コードを使用した印刷のキャンセルは、前のマクロを使用した印刷のキャンセルとよく似ています。レコードが含まれないレポートを開くと警告メッセージが表示され、警告メッセージを閉じると印刷操作がキャンセルされます。

VBA コードを追加する

  1. ナビゲーション ウィンドウで、変更するレポートを右クリックし、[デザイン ビュー] をクリックします。

    注: 完了するのには、この手順は、レコードが含まれていないをレポートを使用します。

  2. [デザイン] タブの [表示/非表示] グループの [プロパティ シート] をクリックします。

    - または -

    レポートの左上隅または右上隅 (地域の設定または言語設定により異なります) のボックスをダブルクリックします。

  3. [イベント] タブをクリックし、[空データプロパティ ボックスで、[ [ビルダー] ボタン ] をクリックします。

    [ビルダの選択] ダイアログ ボックスが表示されます。

  4. [コード ビルダ] をクリックし、[OK] をクリックします。

    Visual Basic Editor が起動し、空のイベント プロシージャが表示されます。

  5. Visual Basic Editor に以下のコードを入力して、このように Report_NoData プロシージャが表示されていることを確認してください。

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. 完了したら、[ファイル] をクリックし、[保存] をクリックします。

  7. [ファイル] をクリックし、[終了して Microsoft Office Access へ戻る] をクリックします。

  8. 開いているレポートを閉じて、 [はい] [保存] をクリックします。

  9. ナビゲーション ウィンドウで、変更したレポートを右クリックし、[印刷] をクリックします。次のようなメッセージが表示されます。

データなしイベントの手続きで表示されるメッセージボックスを示す画像

Report_NoData プロシージャは、MsgBox 関数を使用して、"レポートの中にレコードがありません" というメッセージと、[OK] ボタンを表示します。[OK] をクリックすると、プロシージャ内の "Cancel=True" 行が Access にレポートのキャンセルを指示します。Cancel は、自動的にイベント プロシージャに渡される引数であり、イベント プロシージャの実行が完了すると常に Access によって確認されます。

ページの先頭へ

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×