Access レポート 最終ページに余分な空白ページを出力しない

最終更新日

古いMicrosoft Access VBAをメンテナンスする機会があった。レポート作成をした時に、どうしても最後のページに空白ページが印刷(出力)される現象に悩まされたので、試行錯誤して回避したVBAコードをメモしておく

バージョン

Access2010

原因

プロパティシートで詳細の改ページの設定を「カレントセクションの後」にすることで、改ページはされるが、この方法だと最後のページで余分な空白ページが印刷された。Access2010パッチをあてるか、アップグレードすると不具合が解消されるらしいが、諸事象でアップグレードすることができなかったため、改行コードコントロールで制御した。

最後のページに余計な余白を出力しないVBAコード

単票のレポート内に明細を表示するレポートで、古いAccessの場合、最後のページに余白ページが印刷されてしまうので、次の対応行った。

詳細にグループ化でグループヘッダー及びグループフッターセクションを作成し、サブレポートを設置している。(①)

レポートデザイナーで改行コントロールを設置する。

accessレポートサンプル

以下のコードは、ページが最後のページに到達した場合、改行コードのプロパティを無効にし空白ページを出力しないようにしている。

Private Sub グループ_フッター1_Format(Cancel As Integer, FormatCount As Integer)

If [Pages] = [Page] Then
    Me.改ページ2.Visible = False
End If

End Sub