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


3行のレコードごとに空白行を表示する : Access裏技Tips



帳票レポートでは、レコードが隙間なく上下に表示されるため視認性がよくありません。
ここでは、10行のレコードごとに空白行を挿入する技を紹介します。

10行のレコードごとに空白行を挿入する

  1. サンプルテーブル(tbl_sample)をもとにして、「取引先別売上げリスト」の 帳票レポート(rpt_sample)を作成します。
  2. FunctionプロシージャBlankLineBirthを作成し、詳細セクションの印刷フォーマットイベントを利用して空白行を挿入します。

「取引先別売上げリスト」の レポートを作成

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

標準モジュールの宣言セクションに変数を作成

標準モジュールの宣言セクションに変数を作成します。

Option Compare Database
Option Explicit

Dim intCount As Integer ' --- A
解説
  1. 整数型の変数を作成します。値を保持するために宣言セクション内に変数を定義しています。

FunctionプロシージャBlankLineBirthの作成

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

Function BlankLineBirth(MyReport As Report, intLineCount As Integer)  ' --- A

    Dim ad As Integer
    ad = intLineCount + 1
    
    If intCount Mod ad = 0 Then  ' --- B
        MyReport.NextRecord = False  ' --- C
        MyReport.PrintSection = False  ' --- D
        MyReport.MoveLayout = True  ' --- E
    End If
    
    intCount = intCount + 1……F

End Function
解説
  1. 標準モジュールで Meプロパティ を利用するため引数 MyReport を設定します。
  2. 変数intCountをadで除した剰余が0であれば、以下の処理へ進みます。
  3. 次のレコードに進めないために、NextRecordプロパティにFalseを設定します。
  4. セクションを印刷しないために、PrintSectionプロパティにFalseを設定します。
  5. 次の印刷位置に移動させるために、MoveLayoutプロパティにTrueを設定します。
  6. 変数intCountに1を加えます。

SubプロシージャBeginningDataの作成

SubプロシージャBeginningDataを作成します。

Function BeginningData(i As Integer)

    intCount = i……A
   
End Function

解説
  1. 変数intCountの値をiに初期化します。
今回のおすすめポイント

変数intCountの初期化

変数intCountを1に初期化すると、1ページ目先頭行に現れる空白行を取り除くことができます。 初期化しなければ、1ページ目先頭行に空白行が現れますが、プロシージャは問題なく動作します。

レポートの詳細セクション印刷時イベントプロシージャの作成

レポートの詳細セクション印刷時イベントプロシージャを作成します。

Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)

    Call BlankLineBirth(Me, 10) ' --- A
    
End Sub

解説

  1. Function関数BlankLineBirthを呼び出します。
    引数にMeプロパティを利用するためにMeを、10行ごとに空白行を表示させるために10を設定します。 この数字は、任意に設定することが可能です。例えば、5であれば5行ごとに空白行が現れます。
今回のおすすめポイント

汎用プロシージャ

Function関数BlankLineBirthは、引数の設定を変更することで、いずれのレポートでもそのまま利用できるように仕上げています。
Functionプロシージャを作成する場合、プロシージャ内にレポート名やフォーム名を記述するのではなく、引数で指定する工夫を施します。

レポートの開く時イベントプロシージャの作成

レポートの開く時イベントプロシージャを作成します。

Private Sub Report_Open(Cancel As Integer)

    Call BeginningData(1) ' --- A

End Sub
解説
  1. A…CallステートメントでFunctionプロシージャ NoDataReport を呼び出します。
    引数に1を指定します。このようにすることで、変数intCountの値が1に初期化されます。

動作確認

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

関連ページ

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

 


3行のレコードごとに空白行を表示する : Access裏技Tips


 

-Microsoft Access Club-

動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。データセンター設置場所はアメリカ合衆国です。: 動画サーバードットコム
動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。
データセンター設置場所はアメリカ合衆国です。
100Mbps〜1Gbpsまで対応できます。