MS Access Tips/Sample and VBA and Blog customize etc...

詳細データの最後に「以下余白」と印字

データが無くても用紙の最後まで罫線を引くようにしていますが、途中でデータが終わったときは最終データの次行に「以下余白」と印字するにはどうしたらいいでしょうか?また、用紙の最後までデータがあるときは「以下余白」は出力しないようにしたいです。

このブログでは、用紙の最後まで罫線を出力する方法は3つ紹介しています。

用紙の最後まで罫線を出力する - hatena chips

それぞれの場合において「以下余白」を出力する方法を紹介します。

Rpt以下余白

難易度:

ページヘッダーに指定行数分の罫線を配置して、MoveLayout = False で重ねて印字する方法の場合。

レコードがない場合も用紙の最後まで罫線を出力する - hatena chips

グループフッター(まはたレポートフッター)にテキストボックスを配置して、下記のように設定します。

プロパティ  設定値 
コントロールソース  =IIf(Count(*) Mod 14 = 0,""."以下余白")  
印刷時縮小  はい 
上位置  0
高さ  (詳細セクションの高さと同じに) 
上余白  (よい位置になるように調整してください。) 

上記の例は、1ページ14行の場合の例です。行数に応じて 14 の部分を変更してください。

グループ(レポート)フッターセクションの「印刷時縮小」も「はい」にします。セクションの高さは詳細セクションと同じにします。

なお、サンプルでは改ページをVBAで制御しているので、その部分の修正も必要です。フォームモジュールは下記のようになります。9行目の条件式を修正しました。

Lineメソッドで罫線を描画する関数の場合。

レコードがない場合も用紙の最後まで罫線を出力する関数 - hatena chips

上の場合と同じ設定のテキストボックスをグループ(レポート)フッターに配置します。コード等の修正は必要ありません。

NextRecord = False でグループフッターを繰り返し出力する方法

レコードがない場合も用紙の最後まで罫線を出力する NextRecord版 - hatena chips

グループ(レポート)フッターにラベルを配置します。標題は「以下余白」名前は「lbl以下余白」とします。

変更は、12行目の1行を追加しただけです。

サンプルMDB が下記からダウンロードできます。
RptFixRow2_07.zip (Access 2007 形式 - 136kb)
RptFixRow2.zip (Access 2002-2003 形式 - 115kb)
RptFixRow2_2k.zip (Access 2000 形式 - 105kb)


拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/214-ca8b8690
該当の記事は見つかりませんでした。