<HOME  <お願い事項  <Access2000 TOP   <Access97 TOP   <サイト内検索
 MS-Access2002チョ〜入門部屋>基本をマスターしよう
  (←別ウィンドウでサブメニュー)



20.レポート新規作成

さて次は、「印刷物」についてのお話です。
フォームをそのまま印刷しちゃう人もけっこういらっしゃるんですけどね。
それはそれで別に問題ではないんですけど、どっちかというとそっちのほうが例外で、ふつうは「レポート」っていうオブジェクトをあらかじめ作っておくもんでしょう。まあ、別にそうしなくちゃいけないってわけじゃないんですけど・・・。

とにかく、レポートってものを一度作ってみましょう。

役割というか構造としては、フォームとほとんど同じです。ただ、画面に表示するためではなく、紙に印刷するために作成するオブジェクトということだけですね。基にするテーブルやクエリの中のデータを、用紙に印刷するためのいろんなデザインを作りこんでいくオブジェクトです。
ただ、MS-Accessの場合、「用紙の向きや大きさ」って、あんまり考慮がないように思います。「A4の用紙に印刷する」ということではなくて、「横幅14.5cmのレポートを作成し印刷したら、A4サイズの用紙に収まった」という感覚です。実際にどういう用紙に印刷するのかは、どっちかというとプリンタ任せ(プリンタドライバ任せ)って感じがします。
うーん、国によってビジネスに用いる用紙の大きさとかってばらばらなのかなぁ。印刷物に関する機能を盛り込むのって、もしかしたら難しいのかもしれないですね。まあ、その辺のことは少しずつ理解を深めていってください。

とりあえずなんか作ってみましょう。
ええと、今度は、「レポートウィザード」っていう機能を使って作ってみましょうか。
まあもうだいたいイメージはつかめてらっしゃるんじゃないかと思うんで、もう最初っからお役立ち機能を使って作りましょう。

では、レポートを新規作成してみましょう。
データベースウィンドウの左側の「レポート」というところをクリックして、「新規作成」ボタンをクリックします。

「レポートウィザード」という方法を使いましょう。
基になるテーブルまたはクエリは、同じく「社員テーブル」を使いましょうか。
これからいくつかの質問事項が出てきます。
それにひとつずつ答えていけば、MS-Accessが適当なレポートを作ってくれるので、後はそれを土台に手直ししていけばよい、というわけです。じゃあ、やってみましょう。

まず、こんな画面が出てきます。
基にする「社員テーブル」にはこんなにフィールドがあるけれど、これから作るレポート上で印刷したいのは、どれとどれ?と聞いてきてます。
全部を印刷する必要があるのなら、全部を右側に移します。
「時給とペンだこは、いらないや」という場合は、それ以外のフィールドを右側に移します。
上の図の赤い丸印のついてるボタンで、右側にフィールドを移動させることができるので、必要なフィールドだけを右に移していきましょう。今回は練習なので、全部移しましょうか。

選ぶことができたら、[次へ]っていうボタンをクリックします。
次にこんな画面が出てくると思います。

たとえば・・・単に社員の一覧表ではなく、部署別に分けて印刷されるようにしたいとか、ペンだこのある人とない人で分けて印刷したいとか、そういうレポート作りたいときもありますよね。あるんですっ。
そういうとき、仮に部署別に出したい場合は、「部署名」というフィールドを左側から選んでやると、

こんなふうに、「部署ごとにグループ分けして印刷するレポート」になります。
ちょっとイメージがつかみにくいかもしれませんが・・・。これで出してみましょうか。

[次へ]のボタンをクリックしましょう。
次に、並べ替えの指定をするような画面が出てきます。

何も指定しなければ、多分主キー順に出てくれるとは思うんですが、レポートの場合は、レポートの中でしっかり並び順の指定をしておいたほうがよいです。できるだけ指定をするようにしましょう。
うーんと、せっかくだから・・・「入社年月日順」とかにしてみます?「時給」でもいいですよ。

で、あと、「部署別の人数を数えたい」とか「部署別の時給の合計を出したい」とかいうときは、「集計のオプション」っていうボタンをクリックして集計方法を指定しておくとよいでしょう。
後で付け加えることもできますけど、こういうことは最初に指定しておいたほうが面倒なくていいですもんね。

まあ、今回はこのままで、[次へ]をクリックしましょう。

後は、レイアウトの設定をどうするか?という質問が出てきます。
とりあえずデフォルトのままで先に進んじゃいましょう。[次へ]ボタンを続けて2回押しましょう。

多分これで全部終わりじゃないかなと思います。
最後に、レポートに何か適当な名前をつけて[完了]ボタンをクリックします。
「社員テーブル」じゃなんなのかわけがわからないので、「社員一覧印刷」とか、なんかそんな名前付けましょう。



しばらくすると、できあがったレポートが印刷プレビュー状態で出てくると思います。

ウィザードの途中で選んだ設定によって、仕上がりはまちまちだと思いますが、まああまり細かいことは気にしないでいきましょう。とりあえず、プリンタのデフォルト設定の用紙に印刷したとしたら、こんな感じになるよ、ってところですね。
もし、用紙のサイズや方向を変えたいなら、ツールバーの「設定」ボタンをクリックして、ページ設定を行いましょう。

今日はこのままでよいですんで、設定をする必要があるんだなぁくらいに思っといてくださいね。



では、デザインがどうなってるのか見てみましょう。
左上の青い三角定規ボタンをクリックすれば、デザインビューになります。

フォームよりちょっと複雑な感じがしますけど・・・いくつかのセクションに分かれてると思ってください。

■レポートヘッダー
  一番最初に印刷されるところ。レポートのタイトルとかを入れておくとよい。
  印刷物が何枚かにわたる場合は、1ページ目の1番最初に1回だけ印刷されます。
  今は、「社員一覧印刷」ってレポート名を入力したラベルがありますね。かなりでかいフォントで。

■ページヘッダー
  各ページの最初に印刷されます。1ページ目の場合はレポートヘッダーの次に印刷されます。
  項目名とかを入れておくとよいかもしれません。今は、各フィールド名のラベルが横に並んでますね。

■部署名ヘッダー
  レポートウィザードの中で「グループレベルの指定」をしたので、こういうセクションが増えてます。
  グループレベルを指定してないときはこういうヘッダーはありません。
  部署ごとにまとめて印刷し、別の部署に変わるときに印刷されるグループヘッダーです。

■詳細セクション
  この部分が、テーブルやクエリの中のレコード分繰り返されます。
  各フィールドの値を印字するためのテキストボックスが横に並んでますね。

■部署名フッター(今は表示されてませんが、あることはあります)

■ページフッター
  各ページの一番下に印刷されます。
  今は、印刷したときの日付時刻と、総ページ数と現ページ数が印刷されるようなテキストボックスがあります。

■レポートフッター(今は折りたたまれてて表示されてませんが、あることはあります) 
  印刷するべきデータがすべて印刷し終わったら、最後に印刷されます。
  最終ページでは、レポートフッターを印刷してから、ページフッターが印刷されることになります。



皆さんの画面と見比べながらセクションの場所と内容を確認してみてくださいね。



フォームと同じ要領で、テキストボックスの大きさや位置を調節していきましょう。
でも、フォームより少し手間がかかるかもしれないですね。
ページヘッダー部分のラベルの幅と、詳細セクションのテキストボックスの幅がずれちゃうとキモチワルイレポートになっちゃうので、少しずつ根気よく調節しましょう。
ときどき、印刷プレビュー画面と切り替えながら操作していったほうがいいかもしれません。

この↑ボタンで、印刷プレビュー画面になります。
テキストボックスやラベルのフォントサイズなどもろもろの書式は、↓このツールボタンを使えばあらかた調整できそうです。
お好みで調節してってください。

ひとつ、よくあるおっとどっこいについてのお話なんですが、

この図の、赤い線のところが、レポートとレポートじゃないところの境界線です。
ここをドラッグすると、レポートの幅が広がったり狭まったりするわけなんですが、この幅は用紙の大きさとは連動してません。なので、やたらにドラッグしちゃって、印刷するときに「養子に納まりませんよ」じゃなくて「用紙に収まりませんよ」みたいなエラーメッセージが出たり、何にもない空白ページがガラガラ印刷されちゃったりします。
右端に、いらない空欄ができないよう、気をつけましょう。