Access レポート 最終ページに余分な空白ページを出力しない
古いMicrosoft Access VBAをメンテナンスする機会があった。レポート作成をした時に、どうしても最後のページに空白ページが印刷(出力)される現象に悩まされたので、試行錯誤して回避したVBAコードをメモしておく
バージョン
Access2010
原因
プロパティシートで詳細の改ページの設定を「カレントセクションの後」にすることで、改ページはされるが、この方法だと最後のページで余分な空白ページが印刷された。Access2010パッチをあてるか、アップグレードすると不具合が解消されるらしいが、諸事象でアップグレードすることができなかったため、改行コードコントロールで制御した。
最後のページに余計な余白を出力しないVBAコード
単票のレポート内に明細を表示するレポートで、古いAccessの場合、最後のページに余白ページが印刷されてしまうので、次の対応行った。
詳細にグループ化でグループヘッダー及びグループフッターセクションを作成し、サブレポートを設置している。(①)
レポートデザイナーで改行コントロールを設置する。
以下のコードは、ページが最後のページに到達した場合、改行コードのプロパティを無効にし空白ページを出力しないようにしている。
Private Sub グループ_フッター1_Format(Cancel As Integer, FormatCount As Integer)
If [Pages] = [Page] Then
Me.改ページ2.Visible = False
End If
End Sub