Microsoft Access 掲示板

レポートで空行でも罫線を表示させる方法を教えて下さい。

12 コメント
views
4 フォロー

現在、日報表を作成しようとしています。

色々なサイトを探して試してみましたが思うような形に私の腕ではできませんでした。
現在のレポートの設定は下記のようにしています。

画像1

画像1画像1

最終の目的としては、ページヘッダーを表示させたまま最後のページにレコードが無い場合に空行を表示させて
合計値を空行の後に設置したいと思っています。

https://hatenachips.blog.fc2.com/blog-entry-396.html
上記のサイトを参考に作成すると、フッターの合計値を表示することが私にはできず、現在は空行なしで
目的に近い状態になるように変えてしまいました。

https://www.accessdbstudy.net/entry/20080610/p1
また、こちらの上記のサイトを参考に作成する目的の形にはなるのですが、罫線の間に
微妙に隙間が空いたり、2重に重なったようになってしまい綺麗な表ができませんでした。

上手く目的にあうやり方があればお教えください。

jume
作成: 2020/03/26 (木) 12:14:59
最終更新: 2020/03/26 (木) 12:14:59
通報 ...
1
hiroton 2020/03/26 (木) 16:29:58 dbdbb@f966d

2番目の方法でデータの出力がうまく言っているならそこから煮詰めればいいんじゃないかな
最初の画像で太さの違う罫線が含まれてるからそのあたりが原因だと思うけど情報がなさ過ぎてどうこう言えないけども

罫線の書式が完全に固定ならレコードがない場合も用紙の最後まで罫線を出力すると組み合わせるとか

2

画像をみると明細行は17行固定のようですが、
もし、データ件数が17件の場合はどのように表示しますか。
1ページ目に17件表示して、合計は2ページの17行目ですか。

仕様的には、1ページ目の17行目は、「次頁へづづく」などと表示させるのがいいように思えます。
どうでしょうか。

3

また、こちらの上記のサイトを参考に作成する目的の形にはなるのですが、罫線の間に
微妙に隙間が空いたり、2重に重なったようになってしまい綺麗な表ができませんでした。

横罫線は、詳細セクションの下辺に配置すれば、隙間が空いたり、2重に重なったりはしなくなると思います。

4

ご返答ありがとうございます。

hirotonさん
間違っておりました。
参考にさせて頂いたサイトの2つ目でチャレンジしても、ページヘッダーの部分を表すことができていません。
また太い罫線を設定しているのは、それぞれの小計、合計を太くして強調させたいためで、出来れば太い罫線は
このまま残しておきたいと考えています。

hatenaさん
明細行は別に17行固定ではなくても大丈夫です。
おっしゃる通り、「次頁へづづく」など表示できれば一番いいのかもしれませんが、どうやって表示させれるか
わからない状態です。

あいまいな説明ばかりで申し訳ありません。

5
hiroton 2020/03/30 (月) 10:40:28 34669@f966d

太い罫線については無くそうという話ではなくて、うまくいかないのならまずは必要最小限のパーツのみで表示がうまくいくかどうかを確認しましょうということです。問題の切り分けの基本です
また>> 1で後に提示した方法であれば1ページ分の罫線をすべて先に描画してしまうという方法なので太線についても問題ないはずです

一つ仕様を確認しましょう
仕様A.合計の行は明細行の一番下に入れたい
仕様B.合計の行は明細行の一番下のさらに下でもいい

仕様A.は、おおよそ質問にあるような流れで、グループフッターを使ってデータを1行追加するようなイメージです。(明細が17行で合計は必ず17行目)
この方法でそのままやりたいということであればhatenaさんの>> 3を合わせて確認された上で、実際にやってみたレポートの設定とモジュールを提示してください

仕様B.は、ページフッターを使って条件に合わせてページフッターの表示を変えることになります。(明細は16行で、合計の表示用にページフッターの高さを確保しておく)
ACCESSのレポートに関してはこちらのアプローチのほうが情報が多いように思います。特に、テキストの表示だけであればVBAも必要なく実装できるようです。グループの最後のページのフッタにだけ表示する

6

jumeさん、まだ、解決していませんか。
この罫線を最後まで出力する方法はいろいろあります。私のブログでも下記のようにいろいろ紹介しています。

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

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

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

余白に応じて行数指定無く用紙の最後まで罫線を出力する - hatena chips

それぞれ一長一短ですし、どれも理解して使いこなすのはなかなか難しいです。
また、レイアウトによってどの方法か最適なのかも変わります。

どうしてもうまくできないようでしたら、現状のレポートを含んだファイルを送信していただければ、それを見て改修できるかもしれません。右のサイドカラムの下のほうに送信フォームがありますので、そこからファイルを送信してください。

8

hirotonさんの送付された現状のファイルです。

nippou.zip

9

送付されたファイルを下記の方法で改修しました。

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

下記をクリックしてください。
nippou1.zip

詳細は上記のページに解説してありますので参照してください。

最終ページのみ合計を表示、途中ページは「次へ続く」を表示するVBAを追加しています。
1ページ16件
17行目に「合計」または「次へ続く」を表示する仕様です。

10

hatenaさん

ありがとうございます。

作成していただいた内容を確認させていただきました。
感動しました。まさしくこの形が私の望むものでした。

他の内容の日報も月報も作成していかないといけないので
詳しく中身を確認しながら作成していきます。

本当に、本当に大感謝です。

11

この方法は、罫線の配置などのデザインは面倒ですか、VBAコードは最小限で比較的理解しやすい方法ですので、頑張って理解して、活用してください。

12

閉じます(凍結)。