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

罫線固定出力で空白行に斜め線を引く

データが無くても用紙の最後まで罫線を引くようにしていますが、途中でデータが終わったときは、空白行部分に斜め線をいれたいのです。

以前の記事では、最終データの次行で「以下余白」と印字する方法を紹介しましたが、今回は斜め線を引く方法です。

前回の記事同様に、このブログで紹介している用紙の最後まで罫線を出力する3つの方法のそれぞれにおいて斜め線を引いてみました。

RptFixRow3.png

難易度:

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

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

ページヘッダーに直線コントロールを配置します。

プロパティ  設定値 
名前  Line1 
上位置  適当に(VBAで調整します) 
高さ  適当に(VBAで調整します) 
幅  レポート幅と同じに
傾き  (詳細セクションの高さと同じに) 
線傾斜  / 

レポートモジュール

ハイライト部分が今回追加したコードです。空白行数を計算してそれを元に直線コントロールの上位置と高さを調節してます。

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

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

レポートモジュール

パブリック変数に1ページ内のデータ行数をカウントアップします。それをPageDrawLine関数内で参照して罫線出力位置を計算して、Lineメソッドで描画します。

標準モジュール

前回のコードに追加したのはハイライト2行だけです。

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

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

変更箇所はレポートモジュールのみです。

レポートモジュール

サンプルMDB が下記からダウンロードできます。
RptFixRow3_07.zip (Access 2007 形式 - 120kb)
RptFixRow3.zip (Access 2002-2003 形式 - 117kb)
RptFixRow3_2k.zip (Access 2000 形式 - 113kb)

拍手する

Leave a reply






Trackbacks

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