MS Access

Accessの複雑な処理のレポート帳票で1ページのみ出力されるはずが2ページ目になぜかページヘッダーが出るトラブルに見舞われ

投稿日:

レポートのデザインビューでいうと上から、レポートヘッダー、ページヘッダー、グループヘッダー、詳細、グループフッター、ページフッター、レポートフッター・・・というような、結構細かいレポートを作っている。

以下を参考に、出力対象が1件であろうが10件であろうが、罫線を10本分引いてくれるレポートにしようとしているのだが。

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

しかし、客先の環境のせいなのかわからないが、出力対象が1件であっても、ページヘッダーが2ページ以降に出てしまう。

ものすごくはまった。
数日間、悩んだ。

で、最終的にはやっとわかったのだが、

1.グループフッターの改ページが「カレントセクションの前」にしていた。これを「しない」に変更。

2.参考サイトで公開しているコードの「Private Sub グループフッター1_Format」イベントの「Me.グループフッター1.ForceNewPage = 2  ‘カレントセクションの後で改ページ」の行を削除した。
改ページのコントロールはこの場面では不要な気がするんだけど、どうなんだろうなあ(参考WEBの管理人さんはあまりにも凄腕なので、なにか思惑があってこうしたのだろうが)。

自分の場合は、これで解決した。。。他の人はどうなのかわからんけど、参考になればしてください。

ちなみに、今回のトラブルは原因を見つけるのに大分苦労した。こちらも私の苦労をせずに済む人がいれば、参考になればとメモ。

 

トラブル 原因の見つけ方の検討:

・ページヘッダーや詳細に背景色(赤とか青とか目立つ色)を設定してプレビュー時の色を見てどこが影響しているのかあたりをつける。

・余白調整(余白が原因のことも)

・客先のプリンタのドライバーをインストールしてみる(機種により余白がちがったりすることも)。

・NoData時に、どのように表示されるかをチェック。

・ページ幅を広げてみる。又は狭めてみる(A4用紙の幅をはみ出していることが)。

・コードをすべてコメントまたは削除してみる(プログラムとそれ以外の切り分け)。

・印刷時に自動拡張されるコントロールは無いかチェック(はみ出る一因になっていないか)。

・プロパティの改ページ設定(セクションの前後)チェック(一番怪しい?)。

-MS Access

執筆者:

関連記事

Shopify(Matrixify)でスケジュール化したJobのキャンセル

どうしても方法を見つけられなかったが、ふと画面に目を落とすと、あった、方法が。 焦ると視野が狭くなって、なかなか気が付かないんだよなあ、こういうの。 You have 4 scheduled jobs …

no image

Accessでレコードコピー(オートナンバー除く)の決定版のコード!

Accessで、レコードのオートナンバーを除くフィールドを1行、複製(コピー)したくって、Google検索したのだけどなかなか出てこず、しかしやっと見つけた、黄金のソース・・・・。 [VBA] ADO …

no image

SqlServerにAccessでいうオートナンバー型をつける

テストデータを作るために、Accessで2万件ほどのデータを用意し、別途追加クエリを作って、ODBC接続したSqlServerに追加しようとしたところ、「型変換エラーがどうのこうので追加出来ない」との …

no image

パラメータクエリにパラメータをセットして実行した結果をデータシートで表示する」というコードの実行で3065エラー

Accessの仕様として、パラメータクエリだけが駄目なのかと思ったら、なんと選択クエリが駄目なのだそう。 理由は、Executeメソッドはアクションクエリのもので、選択クエリのものではないからだそう。 …

no image

VBAで英字混じりの引数から数字のみを取り出す関数

たとえば、abcABC123456XYGという引数から、123456のみを取り出したい。 VBAの組み込み関数で、適当なのがありそうだけど、無いみたい。 カスタム関数を作るにも、これはという情報がググ …