Accessでフィールド値を選択するドロップダウンリストをルックアップウィザードで作成する
Accessでテーブルに入力する値をドロップダウンリストから選択できるようにするには、ルックアップウィザードを使う方法があります。
ここでは、名簿テーブルの「会員区分」をドロップダウンリストから選択する設定を例に説明します。イメージは次のようになります。
方法はいくつかありますが、ルックアップウィザードを使った次の2つの方法を紹介します。
- 【方法1】簡単な方法:ルックアップウィザードで、ドロップダウンリストに表示する値を直接入力する
- 【方法2】実践的な方法:ルックアップウィザードで、ドロップダウンリストに表示する値を既存のテーブルから取得する
この記事の内容
【方法1】ルックアップウィザードで、ドロップダウンリストに表示する値を直接入力する
- デザインビューでテーブルを開き、ドロップダウンリストから選択するフィールドのデータ型を選んだ後、データ型のドロップダウンリストで「ルックアップウィザード」を選択します。ここでは、会員区分を「短い文字列」に設定してからルックアップウィザードを起動しています。
- 選択する値(選択肢)をここで指定するのか、他のテーブルから表示するのかを選択します。ここでは「表示する値をここで指定する」を選択します。
- ドロップダウンリストに表示する文字列を入力します。最も簡単なのは列数を「1」にして、データベースに入力する文字列を入力する方法です。
列数を2以上にして、1、2、3 … のような番号と「正会員」「準会員」などの文字列を対応づけることも可能ですが、その場合は、後で説明する【方法2】のように会員区分テーブルを作成した方が便利です。
- フィールドのラベルと、入力チェックを行うかどうかを指定して、「完了」をクリックします。
- 保存してデータシートビューでテーブルを開くと、会員区分がドロップダウンリストから選択できるようになります。
- テーブルを元に作成したフォームでも、会員区分はドロップダウンリストから選択可能になります。
- 作成済みのフォームの会員区分のフィールドをドロップダウンリストから選択可能にするには、会員区分のプロパティシートの「値集合ソース」に直接値を入力します。
○値集合ソースに入力する内容
"正会員";"準会員";"未入会"1つの値はダブルクォーテーション「"」で囲み、セミコロン「;」で区切ります。
ルックアップウィザードで設定した内容を修正するには、「ルックアップ」タブから設定します。
値集合ソースを変更すれば入力する値を変更することができますが、入力済みのデータは変更されないことに注意してください。つまり、値集合ソースで「正会員」を「正規会員」に変更しても、以前に入力した「正会員」のデータは「正規会員」に更新されません。このようにデータベースの管理が面倒になるので、この【方法1】は簡易的な方法だと思ってください。一時的に使うデータベースを除いて、テーブルのリレーションシップなどの理解が進んだら、方法2のようにドロップダウンリストに表示する選択肢はテーブルから取得したほうが無難です。
【方法2】実践的な方法:ルックアップウィザードで、ドロップダウンリストに表示する値を既存のテーブルから取得する
上記の方法は簡単でしたが、値の変更があった場合などが面倒です。
そこで、選択肢の取得元になるテーブル(例:会員区分テーブル)を作成して、ドロップダウンリストに表示するようにしておけば楽です。
「正会員」が「正規会員」という名称になった場合でも問題ありません。
テーブルを使ってルックアップフィールドを作成する方法を紹介します。主旨は会員区分のドロップダウンリストに表示する選択肢を会員区分テーブルから取得するというものです。
- このページの最初に紹介した手順と同じように、会員区分フィールドのデータ型から「ルックアップウィザード」を選択します。ドロップダウンリストに表示する選択肢をテーブルから表示するので、「ルックアップフィールドの値を別のテーブルまたはクエリから選択肢する」を選択します。
- 選択肢の取得元を選択します。
- 選択可能なフィールド(左)を選択したフィールド(右)に移動します。これは、ドロップダウンリストに表示したいフィールドを選択するものです。
右側に移動したフィールドが、ドロップダウンリストに表示されます。
ちなみに、複数列を右側に移動した場合、次のようにドロップダウンリストにも複数列の値が表示されます。
- 表示する選択肢を並べ替える基準のフィールドを指定します。「昇順」は小さい順、「降順」は大きい順のことを指します。
- 表示する列の幅を指定します。
「キー列を表示しない」のチェックをはずすと、次のようにドロップダウンリストにキー列も表示されます。
コードと名前を見ながら間違いのない作業をしたい場合に役立ちますが、通常はキー列を表示する必要はありません。
- 「完了」ボタンをクリックすると、ルックアップウィザードは完了です。「データ整合性を有効にする」は必須ではありませんが、チェックすると、連鎖削除や削除制限を有効にすることができます。
連鎖削除とは、たとえば会員区分の「準会員」を削除したときに、会員テーブルの準会員のデータも同時に削除する仕組みです。また、削除制限とは、準会員の人がいるときに会員区分の「準会員」を削除できないようにする仕組みです。
いずれも、存在しない会員区分の人がいるという、おかしなデータ(データの不整合)が発生しないようにする仕組みですが、データベース作成を始めたばかりの方にはわかりづらいかもしれないので、「データ整合性を有効にする」はチェックする必要はありません。 - 最後に、リレーションシップが自動作成されます。その前に「はい」をクリックしてテーブルを保存する必要があります。
- これにより、会員区分を会員区分テーブルの内容から選択できるようになります。