Accessのレポートで偶数と奇数ページで異なるヘッダーとフッターを印刷する

Accessのレポートで偶数と奇数ページで異なるヘッダーとフッターを印刷する方法は、ヘッダーとフッターにそれぞれ印刷するコントロールを配置し、フォーマットイベントでページ番号を判定、その結果でコントロールのVisibleプロパティを設定します。

ページ番号はMe.Pageで取得できます。

BackHome Backレポート


■レポートのヘッダーとフッターにラベルを配置する

レポートヘッダーに「奇数ページ」、レポートフッターに「偶数ページ」と表示するラベルを挿入しました。
「奇数ページ」のコントロールがラベル9、「偶数ページ」のコントロールがラベル10になります。
レポートヘッダーに「奇数ページ」、レポートフッターに「偶数ページ」と表示するラベルを挿入

このままで印刷すると下のように、両方共印刷されます。
両方共印刷される

■フォーマット時イベントにVBAを入力する

レポートのデザインビューでプロパティシートを開きます。
ページヘッダーを選択し、イベントタブでフォーマット時から[イベント プロシージャ]を選択します。
イベントタブでフォーマット時から[イベント プロシージャ]を選択

ページフッターを選択し、イベントタブでフォーマット時から[イベント プロシージャ]を選択します。
イベントタブでフォーマット時から[イベント プロシージャ]を選択

ページフッターセクション_Formatとページヘッダーセクション_Formatにそれぞれ下記のVBAを入力します。
VBAを入力する

・Me.Pageでページ番号を取得し、lp Mod 2 = 0で偶数を判定しています。

Private Sub ページフッターセクション_Format(Cancel As Integer, FormatCount As Integer)
    Dim lp As Long
    
    lp = Me.Page
    If lp Mod 2 = 0 Then
        ラベル10.Visible = True
    Else
        ラベル10.Visible = False
    End If
End Sub

Private Sub ページヘッダーセクション_Format(Cancel As Integer, FormatCount As Integer)
    Dim lp As Long
    
    lp = Me.Page
    If lp Mod 2 = 0 Then
        ラベル9.Visible = False
    Else
        ラベル9.Visible = True
    End If
End Sub

実行結果の印刷プレビュー画面です。
1ページ目に「奇数ページ」が、2ページ目に「偶数ページ」が表示されるようになりました。
実行結果の印刷プレビュー画面


BackHome Backレポート

Copyright(C) FeedSoft