<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000超入門部屋--基本操作をさらに考える
   >00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 



こんな感じにしてみました。
細かいとこは適当でいいですよ。ただ、「レポートヘッダー部分に何を置くのか」「ページヘッダー部分に何を置くのか」「詳細部分に何を置くのか」・・・というところをチェックしてみてください。レポートは、どの領域にどういうものを配置するかによって仕上がりが変わってきますからね。

ページヘッダー、詳細セクション内の罫線(直線図形か四角形ですが)は、赤い線でしるしてます。あ、みなさんは黒い線のままでいいんですよ。ラベルとかの線とごちゃごちゃにならないよう、区別つきやすいように赤い色をつけてみただけですんで。


このままでもまあまあかっこいいレポートにはなるんですけど・・・紙の場合、どうしても考えなくちゃいけないことが出てきますよね。「改ページ」です。
2ページ目を見ると・・・なんか中途半端なところで改ページされてて、「名前」「売上の合計」「売上回数」っていう「ラベル部分」がなくて間抜けですよね・・・。
どのレコードで改ページされるかは、正直言って印刷してみないとわかんないですよね。こういうのって。ワープロじゃないんだから・・・。だから、「ちょうどいいところで改ページさせたい」っていうのが、返って難しい。

なんとか、2ページ目の先頭にラベルをもってきたいもんですねぇ・・・。

皆さんのおめがねにかなうかどうかワカリマセンが、プロパティで工夫してみましょう。
ヘッダーのプロパティで「セクション繰り返し」ってのを「はい」にしてみてください。

ついでに・・・1,2,3,4,5・・・と、レコード番号みたいなのを付けたいときは・・・レポートには結構便利な機能があるんですよ。ついでに試してみてください。
下の図をよく見てくださいね。ちょっとずつ右にずらして、非連結の空っぽテキストボックスを詳細セクションに作ってみました。で、このテキストボックスのコントロールソース欄に半角で=1と入力しておきます。このテキストボックスの中身は数字の1よ、という意味です。

このままだと、このテキストボックスの中身は常に1なので、各行の左端に1という数字が出るだけなんですけど・・・。「集計実行」というプロパティがあるんです。要するに累計を取っていくみたいなやつですね。
最初の行は1だけど、次の行は1+1で2になる・・・というわけで、1,2,3・・・と、あたかもナンバリングされてるみたいになるんですよ。

月がかわったらまた1,2,3・・・と振りなおしたい場合は「グループ全体」、月が変わっても、前の月からの続き番号で振っていきたい場合は「全体」を選びます。
まあ、これはとにかくやってみてください。わかんなかったら・・・やんなくてもオッケイ。そんな重要なことでもないですよ。おまけでお話しただけなので・・・。

ほら。簡単でしょ?

2ページ目、3ページ目と、次のページも表示させてみてくださいね。

じゃあさらに、ヘッダー部分で小計とってみましょう。これはもうみなさん問題なしでしょうか。やっぱり非連結の空っぽテキストボックスを作って(青い矢印の方)、コントロールソース欄に=Sum([売上の合計]) ですよね。

もしかして全部忘れちゃってます???もー!別に丸覚えしなくてもいいから、雰囲気になれちゃってくださいって言ったでしょう〜。
「式はどこに書けば・・・」なんて言ってるようじゃいけませんですよ!式そのものは、その都度新しいものを目的に合わせて覚えていけばいいですけど、どこに書いたらどうなるのか、とかいうことには慣れちゃってくださいね。

上の図ではついでに、「xx年xx月の売上合計」と表示されるようにしようと、ちょっとした工夫を凝らしてみました。
sum関数を書き込んだテキストボックスの左側に、もうひとつテキストボックスを設けてます。ラベルじゃないんですよ。テキストボックスなんです。

で、コントロールソースにどんな式を作るかというと・・・。

=[売上月] & "の売上合計"

こういう式の構図にも、ずいぶんなれてこられたんじゃないでしょうか。

まず、[売上月] ・・・これはいいですよね。

フィールド[売上月]の中の値を出します。[売上月]ってのは、基にしてるクエリーでFormat関数使って編み出したクエリーオリジナルのフィールドですよね。でも名前付けてあるんで、ちゃんとこうやってレポート上で、もともとテーブルの中にあるフィールドと同じように扱うことができるんです。

で、ほんとならただ単にコントロールソースに[売上月]のフィールド名を選択すればいいだけなんですけど、それだとレポートを印刷したときこの「売上月ヘッダーのところに」

2000/06   2,443,480,419円

って出るんですね。まあ、これだけでもわかんないわけじゃないですが、味気ないと思いません?
そこでもう一工夫して、「2000/06の売上合計」って出るようにしたいと思ったんですよ。でも、無造作に「の売上合計」って書き足しても、エラーになるだけです。ほんとに馬鹿ですよね。コンピュータって。

そこで・・・。「売上月のフィールドの中の値を出した後、すぐ右側に"の売上合計"っていう文字列を、意味とかわかんなくてもいいから出せ」っていう命令を下します。"の売上合計"はフィールド名でもオブジェクト名でもなく、まして関数名でも演算子でもなんでもないので、そのまま出してくださいということでダブルコーテーションで囲みます。こういうのもみなさんもうオッケーですよね。

で、あとは[売上月]と"の売上合計"が仲良く並んで出てきてくれればいいんですが、これがまたちゃんと「結び付けてくれ」といってやらないとわかってくれないのがパソコンのあほなところ。&で結んで、さらに「いろいろな要素が組み合わさってできているであるのだぞ」ということを理解させるために、左端にイコールをつけます。イコールは半角・・・と、こういうことはもう書かなくても皆さん理解してらっしゃいますね。

と、ふたつのテキストボックスの中の値がうまいこと並ぶと、上のようになるんじゃないかと、思いますがいかがでしょう???
数値の場合、どれくらいテキストボックスを大きくしておけばいいのか、その辺の加減が難しいところなので、いろいろいじってみて適当な大きさに調節してください。テキストボックスの大きさはいつ何時でも固定で、中のデータの桁数や文字数にあわせて大きさが変わってくれるわけではありませんから・・・。

テキストボックスの大きさと、中のデータの桁数が不釣合いでどうにも具合が悪いときは、無理にテキストボックスの大きさを調節しようとせず、配置とか、周りを四角形や直線で囲むとか、そういう方法を考えてみてくださいね。

レポートって、ほんとに微調整が難しいです。使っているプリンタの種類によっても、仕上がりが微妙に違うことがあるんですよ。それはワープロソフトとか表計算ソフトでもおなじことだと思いますけど、Accessって、レポートの中にプリンタに関する情報をほとんど持たないんですよね。レポートのプロパティの中覗いても、用紙の大きさとか向きとか印字方向とか、そういう情報をもつプロパティ、ないでしょ。ないんですよ。つまり、プリンタ任せってとこ、多いんです。

だから、プリンタの種類が変わると、なんか様子が変だ・・・ってこと、けっこうあるんです。これはヘンなんじゃなくて、Accessは印字に関する情報を持ってないから、なんですよ。だから、なんかわたしたちにとっては「あたりまえじゃん」って思うことができなかったりして・・・。

でも、ここで文句いっても始まらないし、こいつは所詮「パソコンソフトで作るファイル」ですから、ある程度の妥協は必要、って考えて、とにかくできることから取り組むようにしてくださいね。