Accessレポートのグループ化についてお探しですね。
広告
Accessレポートで得意先ごとに改ページして印刷する方法
Accessで請求書や納品書、売上一覧を作るとき、「得意先ごとに別々の用紙に印刷したい」という場面、よくありますよね。
何も設定しないと、すべての明細が続けて印刷されてしまうので、あとから手作業で仕分ける羽目になってしまいます。
この記事では、得意先ごとにページを分けて印刷する方法を、基本から丁寧に解説していきます。
まずは基本:レポートをグループ化する
得意先ごとに用紙を分けるには、まず「グループ化」という機能を使います。
グループ化というのは、同じ得意先のデータをひとまとまりにして表示する機能のことです。
たとえば売上明細の中にA社、B社、C社の情報が混ざっていても、得意先でグループ化すれば、きれいに整理できます。
グループ化の手順
1. 対象のレポートを**デザインビュー**で開きます
2. 画面下のほうに「グループ化、並べ替え、集計」というエリアがあります(見当たらなければ、リボンから表示できます)
3. 「グループの追加」をクリックして、**得意先ID**や**得意先コード**を選びます
ここでポイントなのが、得意先名ではなく「得意先ID」や「得意先コード」を使うことです。
名前だと表記ゆれ(「株式会社」が入っていたり入っていなかったり)で、うまく分かれないことがあるからです。
グループを追加すると、レポートに「グループヘッダー」や「グループフッター」という部分が使えるようになります。
ここに得意先名や小計を表示したり、改ページの設定をしたりできるようになります。
どこに何を配置するか
得意先ごとに印刷物として独立させたいなら、得意先名や住所は**グループヘッダー**に配置しましょう。
ページヘッダーに置いてしまうと、すべてのページで同じ情報が表示されてしまいます。
一方、「商品名」「数量」「金額」といった列の見出しは、各ページの先頭に表示したいですよね。
これは**ページヘッダー**に置くか、グループヘッダーの「繰り返し設定」を使うと便利です。
改ページの設定方法
グループフッターで改ページする(基本パターン)
一番よく使われるのは、**グループフッターの後ろで改ページ**する方法です。
1. デザインビューで、得意先グループの**フッター部分**をクリック
2. プロパティシートを開いて、「書式」タブを見る
3. 「改ページ」を探して、「**カレントセクションの後**」に変更
この設定だと、ある得意先の明細と小計が印刷されたあとに改ページが入り、次の得意先は新しいページから始まります。
請求書や売上集計表のように「得意先別の締め」を見せたいときは、この方法が自然です。
グループヘッダーで改ページする(応用パターン)
レポートの最後に「全体の合計」を表示したい場合は、グループフッターで改ページすると、最後の得意先のあとに総合計だけが次ページに送られてしまうことがあります。
そんなときは、グループヘッダーの改ページを「**カレントセクションの前**」に設定する方法が便利です。
これだと、新しい得意先が始まる直前に改ページされるので、最後の総合計を同じページ内に残しやすくなります。
どちらを選ぶ?
– **得意先別に完全に別紙として出したい** → グループフッター後の改ページ
– **最後に全体の総合計も表示したい** → グループヘッダー前の改ページ
用途に合わせて使い分けましょう。
ページ番号を得意先ごとにリセットする
得意先ごとに改ページできても、ページ番号が「1、2、3、4…」と通し番号になっていると、ちょっと変ですよね。
B社に渡す書類の先頭が「3ページ」になっていたら、違和感があります。
ページ番号をリセットする方法
得意先が変わるたびにページ番号を1に戻すには、ちょっとだけVBAを使います。
難しそうに聞こえますが、実はすごく簡単です。
1. 得意先グループの**ヘッダー部分**を選択
2. プロパティシートの「イベント」タブを開く
3. 「フォーマット時」の右側にある「…」ボタンをクリック
4. コードビルダーが開くので、次の1行を入力します
“`vba
Private Sub 得意先IDヘッダー_Format(Cancel As Integer, FormatCount As Integer)
Me.Page = 1
End Sub
“`
これだけで、新しい得意先のグループが始まるたびに、ページ番号が1に戻るようになります。
総ページ数について
「1 / 3」のように総ページ数を表示したい場合、得意先ごとの総ページ数を出すのは少し難しいです。
まずは「各得意先の先頭ページを1に戻す」ことを優先して、総ページ数が本当に必要かどうかは、業務の要件に合わせて判断するといいでしょう。
列見出しを各ページに表示する
明細が複数ページになる得意先では、2ページ目以降にも列見出し(「商品名」「数量」「金額」など)があると読みやすいですよね。
これは次のどちらかの方法で実現できます:
– 列見出しを**ページヘッダー**に配置する
– グループヘッダーの「**セクション繰り返し**」設定を使う
ただし、ページヘッダーには得意先ごとに変わる情報(得意先名など)を置くと、タイミングが合わないことがあります。
次のように役割を分けるのがおすすめです:
– **グループヘッダー**:得意先名、請求先情報など、得意先ごとに変わる情報
– **ページヘッダー**:列見出しなど、すべてのページで共通の情報
白紙ページが出るときの対処法
設定が終わって印刷プレビューを見たら、最後に白紙ページが出てきた…なんてこと、ありませんか?これにはいくつか原因があります。
よくある原因と対策
**1. 最後のグループの後にも改ページが実行されている**
グループフッターの「カレントセクションの後」で改ページすると、最後の得意先の後にも同じ処理が走ってしまうことがあります。
この場合は、グループヘッダーの「カレントセクションの前」に切り替えてみてください。
**2. レポートの横幅が用紙からはみ出している**
A4縦で印刷する場合、用紙幅から左右の余白を引いた範囲に、すべての内容を収める必要があります。
ラベルやテキストボックスが右端に少しだけはみ出しているだけでも、白紙ページが出ることがあります。
デザインビューでレポートの右端をチェックして、不要な余白を詰めましょう。
チェックリスト
次の点を確認すると、問題を見つけやすくなります:
– レポートの幅と余白の合計が、用紙サイズを超えていないか
– 使っていないヘッダーやフッターに、高さが残っていないか
– 改ページの設定は本当にその場所でいいか
– 「同一ページ印刷」の設定が無理になっていないか
– 罫線やラベルがはみ出していないか
「同一ページ印刷」について
「同一ページ印刷」は、グループ内のデータをできるだけ同じページに収める設定です。
明細が少ないときは便利ですが、1つの得意先で明細が多い場合は、逆に不自然な余白が生まれることがあります。
請求書のように明細が複数ページになる可能性がある場合は、無理に1ページに収めようとせず、見出しの繰り返しやページ番号のリセットで読みやすさを確保するほうが現実的です。
最後に:必ず印刷プレビューで確認を
設定が終わったら、必ず**印刷プレビュー**で確認してください。
画面表示と印刷時の結果が完全に同じにならないことがあるからです。
特に次のような場合を試してみると、実務で起きやすい問題を事前に見つけられます:
– 得意先が1件だけの場合
– 得意先が複数ある場合
– 明細が1ページに収まる場合
– 明細が複数ページにまたがる場合
Accessのレポートで得意先ごとに改ページする方法を安定させるには、**グループ化、改ページの位置、ページ番号、用紙幅**の4点をセットで調整することが大切です。
最初は少し手間に感じるかもしれませんが、一度設定してしまえば、あとは自動で得意先ごとにきれいに印刷できるようになります。
ぜひ試してみてください!
広告
