Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


データがなければ真っ白なレポートを印刷する : Access裏技Tips



レポート印刷では、データが印字されるとは限りません。抽出条件によっては、データがないこともあります。 ここでは、データがない場合、真っ白なレポートを印刷する技を紹介します。

データなき場合に白地のレポートを印刷する

サンプルテーブル(tbl_sample)をもとにして、「得意先一覧リスト」の 帳票レポート(rpt_sample)を作成します。 レポートのレコードソースをクエリーに変換し、IDフィールドの抽出条件に存在しないIDナンバーを記述します。 レポートの空白データ時イベントを利用して、各セクションを非表示にします。

「得意先一覧リスト」の レポートを作成

  1. 「得意先一覧リスト」の レポートを作成します。
  2. サンプルデータを元に、得意先一覧リストを作成します。

レコードソースにクエリーを作成する

  1. レコードソースにクエリーを作成します。
  2. IDフィールドの抽出条件に存在しないID番号を記述します。

FunctionプロシージャNoDataReport

FunctionプロシージャNoDataReportを作成します。

Function NoDataReport(MyReport As Report, CK As Boolean) ' --- A

    If CK = True Then ' --- B
        MyReport.Section(acDetail).Visible = False ' --- C
        MyReport.Section(acHeader).Visible = False ' --- D
        MyReport.Section(acFooter).Visible = False ' --- E
        MyReport.Section(acPageHeader).Visible = False ' --- F
        MyReport.Section(acPageFooter).Visible = False ' --- G
    End If
        
End Function
解説
  1. 標準モジュールで Meプロパティ を利用するため引数 MyReport を設定します。
  2. 引数 CK を設定することで、プロシージャの実行、取り止めを選択可能にします。
  3. 詳細セクションを非表示にします。
  4. レポートヘッダーを非表示にします。
  5. レポートフッターを非表示にします。
  6. ページヘッダーを非表示にします。
  7. ページフッターを非表示にします。

空データ時イベントプロシージャの作成

空データ時イベントプロシージャを作成します。

Private Sub Report_NoData(Cancel As Integer)

    Call NoDataReport(Me, True) ' --- A

End Sub
解説
  1. Callステートメントで独自関数引数 NoDataReport を呼び出します。
    引数にMeを設定するとMeプロパティと同じ働きをします。また、Trueを設定するとデータ空白時に各セクションを非表示にします。
今回のおすすめポイント

空データ時イベント

データのないレポート (空のレコードセットに連結されたレポート) が印刷のためにフォーマットされた後で、印刷される前に発生します。このイベントを利用して、Msgboxステートメントを記述してメッセージを表示したり、引数であるCancelにTrueを記述(Cancel = True)して印刷を中止するなどの利用方法があります。

動作確認

  1. デザインビューから印刷プレビューに切り替えます。

関連ページ

ページの先頭へ 前ページへ戻る

 


データがなければ真っ白なレポートを印刷する : Access裏技Tips


 

-Microsoft Access Club-

アダルト・ゲーム配信可能なPLESKパネル付属の専用・共有レンタルサーバーを提供しています。
アダルトやゲーム配信が可能です。
全専用/共有レンタルサーバーにPLESKパネルをインストール済み。