前節で作った「住所テーブル クエリー」によって抽出された住所録を元にし て葉書の宛名書きをさせてみる事にします.このためには「住所テーブル クエ リー」を元にレポートを作成する事になります.レポートの新規作成で選ぶこと の出来る形式には,次のようなものがあります.
l デザインビュー:全てのオブジェクトの配置を自分で指定します.
l レポート ウイザード:質問に答えていくと雛形に準じたレポート作成をし ます.
l オートレポート: 単票形式:テーブルやクエリーの内容を,一枚の用紙あた り一レコードずつ表示するためのレポートを自動的に作ります.
l オートレポート: 表形式:テーブルやクエリーのレコードを表の形式でまと めてレポート作成します.一覧を印刷するのに便利です.
l グラフ ウイザード:テーブルやクエリーの内容を元にしてグラフを作りま す.
l 宛名ラベル ウイザード:タックシールなどの印刷用のレポートです.
葉書の宛名書きをさせるためには,単票形式のレポートを作って不要な部分を 削除して作るか,デザインビューで手作りをすることになります.宛名書きの場 合は,書く項目が少ないので手作業でレポート作成をすることにします.
データベースウインドウでレポートタブを表示させてから,[新規作成]スイ ッチを押します.
図 27 レポートの新規作成ダイアログ
すると図 27が現れるので,「基になるテーブル/クエリーの選択」で住所録テ ーブル クエリーを選択します.またデザインビューが選ばれている事も確認し て下さい.これで新規レポートのデザイン画面が表示されます.
図 28 新規レポートデザイン画面
まず,全体の台紙の設定をしましょう.葉書は縦の長さが約 150mm,横幅が
100mmです.余白の文も含めて台紙の幅をこれよりも狭く設定します.90mm11
位が適当でしょう.ページヘッダーは使う必要が無いので,ページヘッダーの部
11 デザインウインドウの上と左の枠はメモリがふられた定規になっていますので,これを 目安にすると簡単に設定する事が出来ます.このメモリはルーラと呼ばれています.
分は縮めておきましょう.詳細部分は 60mm,ページフッター部分も 60mm 程 度にしましょう.全体的なレイアウトは絵葉書のように上部に宛先,下部に文章 という形になります.
次にアクセス 95 のツールバーにある[フィールド リスト]スイッチ を 押して住所テーブル クエリーのフィールドリストを表示します.この中から郵 便番号,県名,住所 1,氏名,の各フィールドを詳細の部分にドラッグして貼り 付けます.
フィールド表示部分は見出しと内容表示部の二つが同じに張り付きますが,左 側の見出し部分は必要無いので削除する事にします.削除の方法は,削除したい ものの内部をクリックして選んでから,メニューバーの[編集]メニューで[削 除]項目を選ぶかキーボードの[BS]キーを押します.
以上で宛名書きをさせる事が出来ますが,これでは「様」や肝心の葉書の内容 や自分の住所などが足りません.これらを追加する事にしましょう.
レポートやフォームに文字を書き込む為には,ツールボックス ウインドウか らラベルコントロールやテキストボックスコントロールを貼り付けて,これらに 書き込みを行います.
ラベルコントロールをうまく配置して様を 作ります.同様に本文用にラベルコントロー ルかテキストボックスコントロールを貼り付 けて本文も書いてみましょう.一例を図 30に 示します.
演習6 「住所テーブル クエリー」を基にし て絵葉書形式で葉書の宛名書きおよび本文を 印刷するためのレポートを作って印刷してみ ましょう.
図 29 ラベルとテキストボックス ラベル
コントロール
テキストボックス コントロール
図 30 宛名書きレポートの書式例
実際に印刷を行うためにはメニューバーの[ファイル]メニューの[ページ設 定]項目から印刷の用紙サイズと余白を設定する必要があります.
7 テーブル間のリンク - リレーションシップ
7.1 リレーションシップの表示とテーブルの追加
データベースに複数のテーブルがある時にはテーブルのフィールド同士を関連 付けする事が出来ます.これがリレーションシップ12です.現在のテーブルの関 連具合はツールバーの スイッチを押す事でリレーションシップ表示ウイン ドウが現れて,関連具合を見る事が出来ます.
また関連付けがなされていない場合には,テーブルの一覧が出るので関連付け を行いたいテーブルを選択ては[追加]スイッチを押して,リレーションシップ
12 表のリンクという場合もあります.
ラベルコントロールで 作った
様
ラベルコントロールで作 った
本文と自分の署名
表示ウインドウへ移します.
図 31 リレーションシップウインドウへの追加指定
これから先のリレーションの作り方は,ここでは割愛します.ヘルプを参照す るか,参考書などを基にご研究下さい.
サンプルとして添付されている Northwind データベースの各テーブルのリレ ーションを見てみると図 32の様になっています.
図 32 Northwind データベースの各テーブルのリレーション
商品テーブルの区分コードと商品区分テーブルの区分コードにリレーションシ ップが設定されている事に注目してみます.
表 5の商品区分には飲料とか調味料などと,具体的な区分が書き込まれている ように見えます.しかし図 33 商品テーブルのデザインを見ると商品区分フィー ルドは数値型に設定されています.説明の欄を見ると「商品コードテーブルに連 結しています.」と読み取る事が出来ます.
これは商品テーブルでは区分コードフィールドのルックアップとして,商品区 分テーブルが使われています.例えば商品テーブルで択一メニューの 1番目の項 目を選ぶと,連結されている(関連付けられている)商品区分テーブルの1番目 の区分名を選択した事になります.
商品区分テーブルの一つのレコードの内容は,商品テーブルの複数のレコード に参照されています13.このような参照関係を一対多のリレーションといいます.
13 例えば表 5の商品区分を見ると食料品と書かれたレコードは幾つもありますが,これら は全て商品区分テーブルの一番目のレコードの内容が参照されている事になります.
この他には,一対一や多対多のリレーションなどがありますが,最も使われるの はこの一対多のリレーションです.
表 5 商品テーブル
図 33 商品テーブルのデザイン