HOME > 即効テクニック > Access一般機能 > データ操作 > ルックアップリストを設定する

即効テクニック

データ操作

ルックアップリストを設定する

(Access 2000/2002)
通常テーブル同士は、意味不明なコードやIDなどで結合されています。したがって、1対多の関係がある多側のテーブルでは、1側のデータは結合されているキー項目しか表示できません。ルックアップ機能を使えば、結合用のキーフィールドに変えて、主キー側の任意のデータを表示できるようになります。

たとえば、受注処理用のテーブルは、以下のようになっていると仮定します。
商品テーブル(商品ID、商品名、価格、・・・)
顧客テーブル(顧客ID、顧客名、住所、・・・)
受注テーブル(受注ID、商品ID、顧客ID、受注数量、・・・)
その場合、受注テーブルの商品情報は[商品ID]、顧客情報は[顧客ID]のみです。
しかし、実際には、商品名、顧客名を表示させるほうが分かりやすいはずです。
通常は、受注テーブルの内容を商品名、顧客名を使って表示させるには、クエリで3つのテーブルを結合させます。
クエリを使用しないで、受注テーブルの内容を商品名、顧客名を使って表示させるのが、
ルックアップ機能です。

●手順●
  1. 受注テーブルをデザインビューで開きます。
  2. 最初に商品IDにルックアップを設定してみましょう。
  3. 商品IDを選択します。データ型の項目で、一番下に出てくる[ルックアップウィザード]を選択します。
  4. 最初に出てくるダイアログボックスでは、表示する値をこの場で決めてしまうか、他のテーブルやクエリの値を表示するかの選択です。この例では、商品テーブルの値を表示させたいので、[テーブルまたはクエリの値をルックアップ列に表示する]をクリックし、[次へ]をクリックします。
  5. ルックアップ列の値の取得元となるテーブルまたはクエリを選択するダイアログボックスが表示されますので、テーブル名[商品]を選択し[次へ]をクリックします。
  6. 商品IDに代わる実際に表示される項目を選択するダイアログボックスが表示されます。ここでは、商品名を表示させたいので[商品名]を右の[選択したフィールド]に移動させ[次へ]をクリックします。
  7. 選択をしたフィールドの表示方法が示されます。列の巾サイズをここで調整できます。入力されている列の右端をダブルクリックすると入力されているデータの長さに応じて自動で列幅を調整することができます。キー列は表示する必要がないので[キー列を表示しない(推奨)]にチェックを入れておきます。
  8. 最後にルックアップ列に付けるラベル名を入力します。ここで指定したラベル名は、フィールドの[標題]プロパティに入力されます。データシートビューやフォーム、レポートの項目名として表示されるようになります。
  9. 商品テーブルと受注テーブルにリレーションシップが定義されていない場合には、自動的にリレーションシップを作成します。[リレーションシップを作成する前にテーブルを保存する必要があります。保存してもよろしいですか?]が表示されますので、[はい]を選択します。
●ポイント●
  • ほかのテーブルとのリレーションシップが定義されているテーブルでは、主キーのテーブルを削除したり、変更することができません。その場合には、あらかじめ[リレーションシップウィンドウ]でそのテーブルが関係するリレーションシップを削除してから主キーの設定を変更します。
  •  
  • このルックアップは、フォームで作成するコンポボックスとほぼ同じ機能です。ただ違うのは、コンポボックスは、フォーム上でしか作られませんが、ルックアップは、テーブルに直接作ることが可能です。