カテゴリー別アーカイブ: レポート

レポートの行数が定まらないときの対処法

レポートを印刷するときに、詳細タブでVBAコードで印刷する行数を指定しているにも関わらず、
うまく表示できない場合がよくあります。

こんな感じです。本来なら2枚目に収まるはずが、3枚まで枚数が増えていて、尚且つ
2枚目は空白が多いです。

これでは使い物にならないので、調整が必要になります。

ではどこを調整するのかというと、デザインビューでレポートを開きます。
最初に手を付けるところは、改ページのプロパティの高さを調整します。

ここを0.〇ミリ単位で微調整していくと、直るときがあります。
まずは詳細タブの改ページの高さを調整してみてください。

多くの場合はこれで直るのですが、それ以外にも
レポートヘッダーやフッター、請求書NOヘッダーやフッターの幅(高さ)も調整してみてください。

いろいろ試していくうちに、下の図のようにうまくまとまる設定が見つかります。

経験上、20分くらいいろいろ高さを直しているうちに直るケースが多いです。
何故VBAのコードで行数を指定しているのに、そうならないのか理由は分かりません。
一発で上手くいくケースの方が少ないです。

大事なことはあきらめず調整し続けることです。

===========================================
コロナ期間中税務調査も自粛でしたが、10月1日から解禁となります。
ただ今まで実地調査が基本でしたが、密の関係で、今までと違った税務調査の
やり方が始まりそうです。

こちらからしてみると、調査の立ち合いは正直暇で仕方がないので
さっと終わる形になるといいなと思います。

本日も最後までお読みいただきありがとうございます。

レポートの行数を指定するコードを読む②

レポートの行数を指定するときの、肝の部分を解説します。
まず前提として下の画像をご覧ください。

下の言い回しがよく出てきますが、オブジェクトの名前とテキストボックスが一致している
ことがわかると思います。

最初に行数を指定します。
If i Mod 18 = 0 Then
18が行数です。20行にしたいなら18を20としてください。
ここで、iが18で割り切れるときとそうでないときに大きな違いがあります。
18で割り切れるときは通常改ページをします。
でもデータの数が18個の場合、ちょうど1ページで収まります。
19の場合は次のページに1行表示されます。
それがこの違いです。
If i = j Then
 Me![日付].Visible = True
 Me![項目].Visible = True
 Me![使用量].Visible = True
 Me![料金].Visible = True
 Me![消費税].Visible = True
Me![税込金額].Visible = True

ElseIf i < j Then Me![bpage].Visible = True
Me![日付].Visible = True
Me![項目].Visible = True
Me![使用量].Visible = True
Me![料金].Visible = True
Me![消費税].Visible = True
Me![税込金額].Visible = True

i=jのときは改ページのコードがありません。
ij)のときはもう次のレコードがないのでFalseになります。
これが大まかな流れです。

次によく出てくる言い回しを解説します。

Me![日付].Visible = True
Me![項目].Visible = True
Me![使用量].Visible = True
Me![料金].Visible = True
Me![消費税].Visible = True
Me![税込金額].Visible = True

レポートにテキストボックスがあるのにVBAコードにない、となるとエラーになります。

ここで
Me![日付].Visible = True
これを詳しく読み解くと
日付のテキストボックスの表示を見える状態にします。

Me![日付].Visible = False
この場合はVisbleがFalseなので見えない状態になります。

ではどういう場合にTrueになって、どういう場合にFalseになるのか?
というと、一番大きな違いは、
表示するレコードがあるかどうか?ということです。
当然レコードがあれば、表示はTrueになるし、なければFalseになります。

表示するレコードがあるかどうかの判定は
iがjより小さい場合はTrueになります。
iはループする回数で、jは表示するレコードの数です。
i=jならVisibleはFalse
となります。

非常に分かりにくいですが、ずっと見ているとなんとなく言わんとしていることが
分かってくると思います。頭の中でiを回しながら、いまどんな状態なのか、イメージ
してみてください。
============================================
10年間整体に通うことなく走り続けた体は、かなりバキバキに固くなっていました。
いま週2で整体に通って体をほぐしてもらっています。やはり体の手入れは大事だなと
思う今日この頃です。

本日も最後までお読みいただきありがとうございます。

レポートの行数を指定するコードを読む

Accessでレポートを印刷する場合、何も指定しないと尻切れトンボの請求書
が出てきます。

Excelなら行を挿入して簡単に手直しができるのですが、
Accessの場合はこれをプログラミングで制御しなければいけません。

Accessの難しさは個人的にはここに集約されると思います。。
続きを読む

レポートを用紙に合わせる

レポートの設計をしている場合、横幅が問題になる場合があります。

このように1ページに収まらない場合、警告が出ます。

これがどういう理屈で出るのかというと、A4サイズの横幅は210mmとなっています。
では210mmまでに収めればいいのか?というとそういうわけではありません。

印刷には余白が必要です。
続きを読む

クエリ・フォーム・レポートを更新した場合

クエリ・フォーム・レポートを更新したときは、次の手順で違うファイルのクエリ等を
更新します。

Accessはご存知のとおり、テーブルにすべてのデータが保存されています。
私の場合、お客さんにAccessファイルをお渡しして、運用してもらっていますが、
何か修正があった場合は、お客さんに渡したファイルを引き取って修正をするのではなく、
そのファイルをコピーして、そのコピーしたファイルを最初に直します。

そうしないとお客さんの業務がと滞ってしまいます。

コピーしたAccessファイルを直したら、その直した
クエリ
フォーム
レポート
を覚えておきます。
続きを読む