罫線を最後まで印字
概要:
レポート印刷において最後まで罫線を引く方法です。
Accessではレコード数に応じた行数しか印刷されません。空白行までも印字したいといったケース
もある場合にはご参考にして下さい。
ここでは住所録のレポートをサンプルとしてご紹介します。
方法としてはレポートフッターセクションを利用します。このセクションに空白行を用意して印字可能行
数分だけ、残りを印字させるといった仕組みです。
もう少し具体的にご説明すると以下の様な手順となります。
1.印刷プレビューで1枚に何行収まるか確認する。
サンプルデータベースの場合32行となります。(A4縦、上下余白20mm)
2.レポートをデザインビューで開き、詳細セクションのコントロールを全選択してコピーする。
3.複製したコントロールをレポートフッターセクションに貼り付ける。
4.レポートフッターに配置した罫線以外のコントロールを複数選択して削除する。
5.詳細セクションとレポートフッターに配置した罫線の配置をそろえる。
またセクションの高さも同じにする。
6.[詳細]、[ページフッター]、[レポートフッター]セクションのフォーマット時
イベントプロシージャ等のコードを記述する。
Option Compare Database
Option Explicit
'ページ印字可能行数の設定
Const AblGyou = 32
'行数カウント変数
Dim GyouCnt As Integer
Private Sub ページヘッダーセクション_Format(Cancel
As Integer, FormatCount
As Integer)
'行数カウント数のクリア
GyouCnt = 0
End Sub
Private Sub レポートフッター_Format(Cancel
As Integer, FormatCount
As Integer)
'総行数がページ印字可能行数と同じ場合
If GyouCnt = AblGyou Then
'行数カウント数のクリア
GyouCnt = 0
'空白行を印字しない
Me.MoveLayout = False
Me.PrintSection = False
Else
'行数カウントを加える
GyouCnt = GyouCnt + 1
'ページ行数に満たない場合、空白行を印字
If GyouCnt < AblGyou Then
'次のレコードへ移動設定を無効とする
Me.NextRecord = False
'次の印刷位置への移動設定を有効とする
Me.MoveLayout = True
'セクション印刷の設定を有効とする
Me.PrintSection = True
Else
'行数カウント数のクリア
GyouCnt = 0
End If
End If
End Sub
Private Sub 詳細_Format(Cancel
As Integer, FormatCount
As Integer)
'行数カウントを加える
GyouCnt = GyouCnt + 1
End Sub
※
DownLoad の「keisen.zip」で動作を確認してみて下さい。
戻る
|