Base デザイン画面でクエリーを作成する方法。

Base には視覚的にクエリーを作成する機能があります。SQL文がわからなくても、マウスでドラッグ&ドロップするだけで、自由自在にクエリーが作成できます。

OpenOffice.org 初心者入門講座 で最も基本的なクエリーの作り方(Q01Prefecture)は解説しましたので、今回はその続きになります。まだの方は先にそちらをご覧ください。

今回は2つのテーブルを共通のフィールドで関連付けて、まるで1つのテーブルのように表示する方法を解説します。これがリレーショナルデータベースでクエリーを活用する基本となります。クエリーがわかれば、Base はわかります。


【1】Base を起動して、「sampleDB070.odb」を開きます。

Base-51.gif


【2】クエリーを表示します。

Base-52.gif


【3】「デザイン表示でクエリーを作成」をクリックします。

Base-53.gif


【4】「テーブルまたはクエリーの追加」ダイアログボックスで、「表」を選択すると、テーブルの一覧が表示されます。

Base-54.gif


【5】「クエリー」を選択すると、クエリーの一覧が表示されます。

Base-55.gif


【6】「表」を選択し、「T02City」を選択したら、「追加」ボタンをクリックします。

Base-56.gif


【7】「閉じる」ボタンをクリックします。

Base-57.gif


【8】クエリーデザイン画面に、「T02City」が追加されました。

Base-58.gif


【9】「CITY_CD」をダブルクリックします。

Base-59.gif


【10】「CITY_CD」が画面下に選択されました。

Base-60.gif


【11】同様に「CITY_NAME」、「PREF_CD」を選択します。

Base-61.gif


【12】「クエリーの実行」ボタンをクリックします。

Base-62.gif


【13】クエリーの実行結果が表示されました。

Base-63.gif

しかし都道府県名は表示されていません。有名な都市ならわかりますが、日本全国には市町村が1900以上あります。都道府県も一緒に表示されていたほうがわかりやすいです。


そこで次は都道府県も表示してみましょう。

【14】メニューから「表示 → プレビュー」を選択します。

Base-64.gif


【15】クエリーデザイン画面に戻りました。

Base-65.gif

*この戻る操作を覚えてください。


【16】「テーブルまたはクエリーの追加」ボタンをクリックします。

Base-66.gif


【17】ダイアログボックスで、「T01Prefecture」を追加します。

Base-67.gif


【18】クエリーデザイン画面に「T01Prefecture」が追加されました。

Base-68.gif


【19】マウスで T02City の「PREF_CD」を、T01Prefecture の「PREF_CD」にドラッグ&ドロップします。

Base-69.gif

*逆でも同じです。


【20】テーブル同士が「PREF_CD」で関連付けられました。

Base-70.gif


【21】T01Prefecture の「PREF_NAME」をダブルクリックして選択します。

Base-71.gif


【22】「クエリーの実行」ボタンをクリックします。

Base-72.gif


【23】今度は都道府県名が表示されました。

Base-73.gif


【24】他の都道府県も表示されているか確認してください。

Base-74.gif


ここまでの作業を保存しましょう。

【25】「保存」ボタンをクリックします。

Base-75.gif


【26】クエリー名に「Q02City」と入力し、「OK」ボタンをクリックします。

Base-76.gif


【27】クエリーのタイトルが変わりました。

Base-77.gif


【28】保存したらクエリーは閉じてください。

Base-78.gif


【29】データベースファイルウィンドウに「Q02City」が表示されています。

Base-79.gif


【30】作成したクエリーは、クエリーを実行したり、編集、削除することができます。

Base-80.gif


【31】復習を兼ねて、「Q02City」を編集で開き、CITY_CD の並べ替えを「昇順」に設定してください。

Base-81.gif

設定したら保存します。


【解説】

(1) PREF_CD は両方のテーブルにありますが、必ず T02City 側の PREF_CD を選択します。

これはとても重要なポイントです。クエリー Q02City の主役となるテーブルは、 T02City です。しかし T02City だけでは都道府県名が表示できないので、T01Prefecture を追加しました。つまり T01Prefecture は脇役です。

もし T01Prefecture 側の PREF_CD を選択した場合、このクエリーから作成したフォームでは、データが入力できないなどの不具合の原因となります。


(2)クエリーを使うと、フィールドの並び順は自由に入れ替えることができます。また目的のフィールドだけを選んで表示することができます。


(3)クエリーを使うと、複数のテーブルを関連付けて、まるで一つのテーブルのように、データを表示することができます。


(4)レコードは必ずしも番号順に表示されるとは限りませんので、並べ替えを設定するようにしてください。


【ワンポイント】

余裕のある方は、今回のようなクエリーをデザインした場合、どのようなSQL文ができるのか見てください。今はSQL文の意味がわからなくても結構です。SQL文を見慣れることが大事です。

Base-82.gif


スポンサードリンク

スポンサードリンク






OpenOffice.org Base 初心者入門講座TOPへ