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

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

レポートを印刷するときに、詳細タブで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ファイルを直したら、その直した
クエリ
フォーム
レポート
を覚えておきます。
続きを読む →