Accessでフィールド値を選択するドロップダウンリストをルックアップウィザードで作成する

Accessでテーブルに入力する値をドロップダウンリストから選択できるようにするには、ルックアップウィザードを使う方法があります。

ここでは、名簿テーブルの「会員区分」をドロップダウンリストから選択する設定を例に説明します。イメージは次のようになります。

フィールドをドロップダウンリストから選択する
フィールドをドロップダウンリストから選択する

方法はいくつかありますが、ルックアップウィザードを使った次の2つの方法を紹介します。

  • 【方法1】簡単な方法:ルックアップウィザードで、ドロップダウンリストに表示する値を直接入力する
  • 【方法2】実践的な方法:ルックアップウィザードで、ドロップダウンリストに表示する値を既存のテーブルから取得する

【方法1】ルックアップウィザードで、ドロップダウンリストに表示する値を直接入力する

  1. デザインビューでテーブルを開き、ドロップダウンリストから選択するフィールドのデータ型を選んだ後、データ型のドロップダウンリストで「ルックアップウィザード」を選択します。ここでは、会員区分を「短い文字列」に設定してからルックアップウィザードを起動しています。
    ルックアップウィザードを起動
    ルックアップウィザードを起動
  2. 選択する値(選択肢)をここで指定するのか、他のテーブルから表示するのかを選択します。ここでは「表示する値をここで指定する」を選択します。
    ドロップダウンリストに表示する値の取得元
    ドロップダウンリストに表示する値の取得元
  3. ドロップダウンリストに表示する文字列を入力します。最も簡単なのは列数を「1」にして、データベースに入力する文字列を入力する方法です。
    ドロップダウンリストに表示する値を入力
    ドロップダウンリストに表示する値を入力

    列数を2以上にして、1、2、3 … のような番号と「正会員」「準会員」などの文字列を対応づけることも可能ですが、その場合は、後で説明する【方法2】のように会員区分テーブルを作成した方が便利です。

  4. フィールドのラベルと、入力チェックを行うかどうかを指定して、「完了」をクリックします。
    ルックアップウィザードの終了
    ルックアップウィザードの終了
  5. 保存してデータシートビューでテーブルを開くと、会員区分がドロップダウンリストから選択できるようになります。
    ドロップダウンリストから選択可能になったフィールド
    ドロップダウンリストから選択可能になったフィールド
  6. テーブルを元に作成したフォームでも、会員区分はドロップダウンリストから選択可能になります。
    フォームでもドロップダウンリストから選択可能に
    フォームでもドロップダウンリストから選択可能に
  7. 作成済みのフォームの会員区分のフィールドをドロップダウンリストから選択可能にするには、会員区分のプロパティシートの「値集合ソース」に直接値を入力します。

    ○値集合ソースに入力する内容
    "正会員";"準会員";"未入会"

    1つの値はダブルクォーテーション「"」で囲み、セミコロン「;」で区切ります。

    フォームでドロップダウンリストから選択可能にする
    フォームでドロップダウンリストから選択可能にする

    ルックアップウィザードで設定した内容を修正するには、「ルックアップ」タブから設定します。

    ルックアップする内容の変更
    ルックアップする内容の変更
    値集合ソースを変更すれば入力する値を変更することができますが、入力済みのデータは変更されないことに注意してください。つまり、値集合ソースで「正会員」を「正規会員」に変更しても、以前に入力した「正会員」のデータは「正規会員」に更新されません。

    値集合ソースを変更してもデータは更新されない
    値集合ソースを変更してもデータは更新されない

    このようにデータベースの管理が面倒になるので、この【方法1】は簡易的な方法だと思ってください。一時的に使うデータベースを除いて、テーブルのリレーションシップなどの理解が進んだら、方法2のようにドロップダウンリストに表示する選択肢はテーブルから取得したほうが無難です。

【方法2】実践的な方法:ルックアップウィザードで、ドロップダウンリストに表示する値を既存のテーブルから取得する

上記の方法は簡単でしたが、値の変更があった場合などが面倒です。

そこで、選択肢の取得元になるテーブル(例:会員区分テーブル)を作成して、ドロップダウンリストに表示するようにしておけば楽です。

会員区分テーブル
会員区分テーブル

「正会員」が「正規会員」という名称になった場合でも問題ありません。

区分変更後も古いデータに影響はない
区分変更後も古いデータに影響はない

テーブルを使ってルックアップフィールドを作成する方法を紹介します。主旨は会員区分のドロップダウンリストに表示する選択肢を会員区分テーブルから取得するというものです。

  1. このページの最初に紹介した手順と同じように、会員区分フィールドのデータ型から「ルックアップウィザード」を選択します。ドロップダウンリストに表示する選択肢をテーブルから表示するので、「ルックアップフィールドの値を別のテーブルまたはクエリから選択肢する」を選択します。
    選択肢を別のテーブルから表示する
    選択肢を別のテーブルから表示する
  2. 選択肢の取得元を選択します。
    選択肢の取得元のテーブルを選択
    選択肢の取得元のテーブルを選択
  3. 選択可能なフィールド(左)を選択したフィールド(右)に移動します。これは、ドロップダウンリストに表示したいフィールドを選択するものです。
    ドロップダウンリストで使うフィールドの選択
    ドロップダウンリストで使うフィールドの選択

    右側に移動したフィールドが、ドロップダウンリストに表示されます。

    表示された文字列をテーブルに格納する場合
    表示された文字列をテーブルに格納する場合

    ちなみに、複数列を右側に移動した場合、次のようにドロップダウンリストにも複数列の値が表示されます。

    複数列が表示されるドロップダウンリスト
    複数列が表示されるドロップダウンリスト
  4. 表示する選択肢を並べ替える基準のフィールドを指定します。「昇順」は小さい順、「降順」は大きい順のことを指します。
    並べ替え方法を指定
    並べ替え方法を指定
  5. 表示する列の幅を指定します。
    表示する幅を指定する
    表示する幅を指定する

    「キー列を表示しない」のチェックをはずすと、次のようにドロップダウンリストにキー列も表示されます。

    ドロップダウンリストにキー列も表示される
    ドロップダウンリストにキー列も表示される

    コードと名前を見ながら間違いのない作業をしたい場合に役立ちますが、通常はキー列を表示する必要はありません。

  6. 「完了」ボタンをクリックすると、ルックアップウィザードは完了です。「データ整合性を有効にする」は必須ではありませんが、チェックすると、連鎖削除や削除制限を有効にすることができます。
    ルックアップウィザードの終了
    ルックアップウィザードの終了
    連鎖削除とは、たとえば会員区分の「準会員」を削除したときに、会員テーブルの準会員のデータも同時に削除する仕組みです。また、削除制限とは、準会員の人がいるときに会員区分の「準会員」を削除できないようにする仕組みです。
    いずれも、存在しない会員区分の人がいるという、おかしなデータ(データの不整合)が発生しないようにする仕組みですが、データベース作成を始めたばかりの方にはわかりづらいかもしれないので、「データ整合性を有効にする」はチェックする必要はありません。
  7. 最後に、リレーションシップが自動作成されます。その前に「はい」をクリックしてテーブルを保存する必要があります。
    テーブル保存の確認
    テーブル保存の確認
  8. これにより、会員区分を会員区分テーブルの内容から選択できるようになります。
    テーブルの内容がドロップダウンリストに表示される
    テーブルの内容がドロップダウンリストに表示される

Microsoft Office