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

レポートで複数レコードを括弧で囲む

以前、掲示板で回答した時に作成したサンプルファイルに、追加更新したものです。

レポートで、あるフィールドの値が同じ複数のレコードを括弧で囲みます。1件だけの場合は囲みません。

複数レコードにまたがって描画したり、先頭行、最終行の判定などのテクニックを覚えておくといろいろ応用が利きます。

複数レコード括弧囲みレポート(角丸括弧)

難易度:

サンプルファイルには、
R_テーブル1
R_テーブル1_2
R_テーブル1_角丸括弧
の3つのレポートが入ってます。

R_テーブル1 は、グループヘッダーに直線コントロールを配置して、=Count(*) で取得したグループ内件数に応じて、セクションの高さや、直線コントロールの位置、サイズを変更しています。Me.MoveLayout = False とすることで、グループヘッダーと詳細を重ねて出力します。

下記が出力イメージです

複数レココード括弧囲みレポート

R_テーブル1_2 は出力結果は上と同じですが、別方法で実現しています。
詳細セクションに配置して直線コントロールの可視を制御してます。ヘッダーに =First([ID]) 、=Lasr([ID]) を配置して、これと Me.ID を比較して先頭行か最終行か判断してます。先頭行は括弧の上部分を表示、最終行は括弧の舌部分を表示、途中は 縦線 を表示とします。

R_テーブル1_角丸括弧 は、一番最初画像の角丸括弧で囲むものです。
これは、
レポートで角丸四角形を描画する関数 - hatena chips
で紹介した関数を利用してます。上記ページのコードを標準モジュールにコピーして利用してください。R_テーブル1 と同じ方法を使って、括弧は角丸括弧関数で描画してます。

サンプルファイルが下記からダウンロードできます。
RptGroupKakko_07.zip (Access 2007-2010 形式 - 29kb)
RptGroupKakko.zip (Access 2002-2003 形式 - 28kb)
RptGroupKakko_2k.zip (Access 2000 形式 - 28kb)


拍手する

Leave a reply






Trackbacks

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