【Access】ルックアップフィールド|別のテーブル等から値を取得してコンボ(リスト)ボックスに表示

お久しぶりです。更新をさぼっているTomです(><;)気が付いたら約1カ月ぶりでした。

今回はAccessにおけるルックアップフィールドについて書いていこうと思います。

ルックアップフィールド

ルックアップフィールドは別のテーブル、クエリなどから値を取得して、コンボボックスやリストボックスに表示するように設定したフィールドのことです。ルックアップ列とも呼ばれます。

例えば、図1のようにT_クラスというテーブル、図2のようにT_メンバーというテーブルがあるとします。

図1:T_クラス

図2:T_メンバー

T_メンバーには、クラス、名前というフィールドがあります。

ここで、図3のようにT_メンバーのクラスフィールドに、T_クラスのクラス名(SとかAとか)をコンボボックスに表示したいとします。(T_メンバーのクラスフィールド([T_メンバー].[クラス])とT_クラスのクラスフィールド([T_クラス].[クラス])に注意して読んでください。)

図3:ルックアップフィールドであるクラス

T_メンバーのクラスを選択するとコンボボックスが表示され、T_クラスのクラスフィールドにあるクラス名が表示されていることがわかります。このT_メンバーのクラスフィールドがクラスフィールドがルックアップフィールドです。

図3では、コンボボックスにT_クラスのクラスを表示させましたが、リストボックスにクエリの結果を表示させたり、自分で決めた値(値リスト)を表示するように設定することも可能です。

今回は図1、図2の環境で図3のようなルックアップフィールドを作成する手順を説明します。

ルックアップフィールドの作り方

ルックアップフィールドを作成する方法は2つあります。1つが、ルックアップウィザードを使用する方法(おすすめ)、もうひとつが、ルックアップのプロパティを使用する方法です。基本的にはルックアップウィザードを使用した方が簡単だと思います。

ルックアップウィザードを使用

ルックアップウィザードを使用した場合、基本的に画面の説明どおりに進んでいけば大丈夫です。

T_メンバーのクラスのデータ型に「ルックアップウィザード」というものがあるのでそれをクリックします。(リレーションシップが設定されていると警告が出るので、出た場合はリレーションシップを消去しておきます。)

図4:ルックアップウィザードの選択

今回は、T_クラスというテーブルから値を取得するため、「ルックアップフィールドの値を別のテーブルまたはクエリから取得する」を選択します。

図5

T_クラスのクラスの値を参照元にするため、T_クラスを選択します。

図6

リスト(コンボ)ボックスの並び替えについての設定画面です。ここでは、T_クラスのIDについて、昇順に並べてみます。

図7

ルックアップフィールドの幅を設定することができます。

図8

ルックアップフィールドにラベルを付けることができます。また、データの整合性についての設定、複数の値についての設定も可能です。

図9

完了ボタンを押せば、ルックアップフィールドの完成です。

ルックアップのプロパティを使用

T_メンバーのデザインの画面で、ルックアップタブを選択(図10の赤枠)し、それぞれの内容を決めていきます。図10は今回の例において、ルックアップウィザードを使用した後のルックアップのプロパティ画面です。

図10:ルックアップのプロパティ画面

表:ルックアップフィールドのプロパティ一覧
表示コントール テキストボックス、リストボックス、コンボボックスのいずれかを選択します。
値集合タイプ テーブル/クエリ、値リスト、フィールドリストのいずれか選択します。
値集合ソース 値の参照元となるテーブル、クエリ、SQL文を設定します。値集合タイプで値リストを選択した場合は、1;2;3;4;5;のように要素を;(セミコロン)で区切ります。
連結列 連結するフィールドを設定します。今回の場合は、T_クラスのIDが連結するフィールドとなるため、D列は1列目なので1を入力しています。
列数 列の数を入力します。(値集合ソースの数を1~255までの間で指定)
列見出し 列見出しを表示するかどうかを設定します。
列幅 列の幅を設定します。非表示にしたいフィールドは0にします。今回の場合は、T_クラスはID、クラスというフィールドを持つため、0cm;1cm;のように設定します。各フィールドごとに;(セミコロン)で区切ります。
リスト行数 ルックアップフィールドに表示する行数を入力します。
リスト幅 ルックアップフィールドの幅を入力します。
入力チェック リストにある値のみ入力するときは「はい」、リストにない値も入力するときは「いいえ」を選択します。
複数の値の許可 「はい」を選択すると、複数の値を入力できるようになります。

図:複数の値(イメージ)

値リストの編集の許可 「はい」を選択時、ルックアップフィールドを右クリックすると、「リスト項目の編集」が表示され、値リストを編集することができます。
リスト項目編集フォーム ルックアップフィールドのリストを編集するためのフォームを入力できます。
値集合ソースの値のみの表示 複数の値の許可がはいのとき、値集合ソースと一致する値のみ表示します。
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする