<HOME  <お願い事項   <Access2002 TOP   <Access2000 TOP   <サイト内検索
 MS-Access97超入門>サブレポートとサブレポート
 サブフォーム     サブレポート 



■サブレポートを作る#2

じゃあ、このレポートのレコードソースはどうなってるんでしょう。プロパティを見てみましょうか。レポートのプロパティですよ。

ん???レコードソースのところに、なんか謎の呪文のようなものが入力されてますね。
せれくと、でぃすてぃんくとろう・・・んー???こんなものを作った覚えはないぞ・・・・。

右端のビルドボタンをクリックして、様子を見てみましょう。

おや???

クエリーのデザインビューじゃありませんか。。。ふたつのテーブルが[注文番号]で結合するようになってますね。


ちょっと余談になりますが、クエリーというものを私たちは上のようなクエリーデザイングリッドを使って立体的に作りますけど・・・。
でもこれは世を忍ぶ仮の姿。実はこういう操作をすることで、SQL文というものを作ってることになってるんです。

ええ〜!!!・・・別に驚くことでもないか。これ、データシートビューで開くと、下のようになります。

SQLというのは、大型のコンピュータの世界で以前から使われていた、データベースから必要なデータを抽出するための専用言語です。
といってもプログラミング言語とはちょっと違うんで、書き込むのが結構大変なんですよね。

ほんとは、テーブルから必要なデータを抽出するためには、このSQLというのを書かないといけないんですけど、なかなかめんどう。
だから、手軽にSQL文を作るためのデザイン画面が用意されている、っていうことになります。

さっきのSelect Distinctrow .....というのは、SQL文。上記のクエリーをSQL文に置き換えるとああなるわけなんです。

まあ、こんなこと気にしなくてもいいように、Accessがうまいことやってくれますんで、いちおう予備知識として・・・。


さて、話を元に戻して、えーと、なにやってたんでしたっけ・・。あ、そうか。サブレポートですよね。
ちょっとサブフォームと雰囲気が違って、ふたつのメイン/サブの関係のテーブルをうまく結び付けます。
で、メインの情報1件に対して、サブの情報が1もしくは複数件、ぶら下がるように作ってくれるんですね。

じゃ、せっかくですから、ちょこちょこいじってみますか。
テキストボックスの配置や大きさはお任せしますので、いろいろ動かしてみてください。


ちょっと役に立ちそうなお話を・・・。

[お客さん名]のテキストボックスありますよね。お客さんの名前の後ろに、様とか御中とか出すための方法です。
いろんな方法があるんですけど、レポートでやる場合は、以下のような手順で行きます。

1)このテキストボックスの名前を、[お客さん名]以外、つまりコントロールソース以外の名前にする。

2)コントロールソース欄に、次のように入力する。

 =[お客さん名] & "御中"

漢字、ひらがな以外は全部半角ですよ。全角で式の記号を入力しないように意識してタイプしてくださいね。

それと、[注文日]の書式を、1999年5月1日という表示にしましょう。下のように入力します。
これも同様。漢字以外は半角です。yとかmとかdには意味がありますからね。

カーソルを他に移すと、yyyy"年"m"月"d"日"と、ダブルコーテーションが現れますが、これでよいのです。

それから、注文番号ごとに改ページしたいなーというときは、[注文番号ヘッダー]のプロパティで設定します。
えーと、あたしはレポートヘッダーとかページヘッダーの中のものを全部削除して折りたたんでしまったんで、[注文番号ヘッダー]の前に改ページするようにしてみました。


さて、こんな感じに仕上がりました。みなさんはどうですか?

と、もう一回印刷プレビュー画面に切り替えてみて、ほれ、こんな感じ。
あ、[注文日]のテキストボックスがちょっと横幅狭かったか・・・。と、プレビュー画面と見比べながら、調節していってくださいね。