テーブルのデータ型には、[ルックアップウィザード]というのがあります。
ルックアップウィザードを選択して、ウィザードに従って設定していくと、フィールドの値をキーボードから入力せずに、ドロップダウンリストから選択できるようになります。
リストの内容を設定するには、値を直接入力して設定する方法と、別のテーブルやクエリから取得する方法があります。
ここでは、値を直接入力して設定する方法を紹介します。
別のテーブルやクエリから取得する方法は、以下の記事で解説しています。
-
ルックアップウィザードでコンボボックスの設定(別のテーブルから値取得)
Accessのテーブルで、フィールドに入力する値をコンボボックスから選択する方法です。 コンボボックスとは、フィールドの値を入力する代わりに ...
ここでは、オブジェクトの表示は[タブ付きドキュメント](既定)の設定にしています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
この記事の目次
データ型でルックアップウィザードを指定
テーブルをデザインビューで開きます。
既存のフィールドでルックアップ列を設定したいフィールドの[データ型]で[ルックアップウィザード]を選択します。
ルックアップフィールドに表示する値の種類を選択
[表示する値をここで指定する]を選択します。[次へ]のボタンをクリックします。
参考既定では、[ルックアップフィールドの値を別のテーブルまたはクエリから取得する]が選択されています。
値リストの作成
ここで値のリストを作成します。
ヒントには、以下のように記されています。
ルックアップフィールドで、どの値を表示させるかを指定してください。リストの列数を入力し、それぞれのセルの値を入力してください。
列幅を調整するには、列の右端をドラッグします。また、右端をダブルクリックすると、入力した値の長さに合わせて列幅が自動的に調整されます。
ここでは、担当者名を1列に入力しますが、例えば、部署まで表示したいというような場合は、2列にして部署名を入力することもできます。
ここでは、以下のように4名の氏名を入力して、[次へ]のボタンをクリックします。
作成後に追加したり、削除もできますし、氏名の変更も可能です。
ラベル名の指定
最後のウィンドウです。
ルックアップフィールドに付けるラベルを指定します。
既定では、フィールド名が表示されていると思います。フィールド名のままでOKです。変更するとフィールド名が変更されます。
以下の2つの質問がありますが、既定のまま(チェックボックスがオフのまま)にして完了してもOKです。
ルックアップ列の完成後に、フィールドプロパティのルックアップタブから設定することができます。
ルックアップの[入力チェック]と[複数の値を許可する]の項目になります。
- 選択肢の値しか入力できないように制限しますか?
- このルックアップに複数の値を保存できるようにしますか?
参考[入力チェック]をオンにすると、リスト以外の値が入力ができなくなります。入力された場合は、以下のメッセージウィンドウが表示されます。
入力したテキストはリスト内の項目ではありません。
[複数の値を許可する]のチェックボックスをオンにすると、[入力チェック]のチェックボックスは自動的にオンになります。
フィールドプロパティのルックアップ
デザインビューのフィールドプロパティの[ルックアップ]タブを表示すると、以下のようになっていると思います。
慣れてきたら、ルックアップウィザードを使用せずに、この[ルックアップ]タブから直接設定できるようになると思います。
注意データ型で[ルックアップウィザード]を指定しても、データ型に[ルックアップウィザード]と表示されるわけではありません。
適したデータ型に変更されます。
データ型の種類については、以下で解説しています。
-
テーブル(フィールド)のデータ型の種類とフィールドプロパティ
文字とか数値といったデータの種類のことをデータ型と呼びます。 Accessでは、フィールドごとにデータ型が決まっていて、同じデータ型のデータ ...
データシートビューで確認
テーブルをデータシートビューで切り替えると、下のようになります。
参考[テーブルのフィールド]タブの[プロパティ]グループにある[ルックアップの変更]が有効になります。
クリックすると、ルックアップウィザードが表示されます。
ルックアップ列の詳細設定
ルックアップの各項目の機能は、以下のようになります。
ウィザードで設定した後も細かい修正は、ここで行うことができます。
[表示コントロール]は、[テキストボックス][コンボボックス]、[リストボックス]から選択できるようになっています。
コンボボックスとリストボックスの違いについては、以下で解説しています。
項目 | 機能 |
---|---|
表示コントロール | セルの編集のためのコントロールを指定します。[テキストボックス]、[リストボックス]、[コンボボックス]の中から選択します。ここの選択によって、設定項目が変わります。 |
値集合タイプ | テーブル/クエリの値を表示するのか、値リストを使用するかを選択します。[テーブル/クエリ]、[値リスト]、[フィールドリスト]の中から選択します。 |
値集合ソース | リストに使用する値を指定します。[値集合タイプ]で[値リスト]を選択した場合は、値をセミコロン(;)で区切って入力します。[テーブル/クエリ]を選択した場合は、SQL文になります。 |
連結列 | リストのどの列がルックアップ列に値として格納されるかを指定します。 |
列数 | リストとして表示する列の数を指定します。 |
列見出し | [はい]を選択すると、リストが表示されるときに、列の見出しが表示されます。 |
列幅 | 列の幅をセミコロン(;)で区切って指定します。 |
リスト行数 | リストの行数を指定します。 |
リスト幅 | リスト全体の幅を指定します。 |
入力チェック | [はい]を指定すると、リストにない値を入力できないようになります。 |
複数の値の許可 | [はい]を選択すると、複数の値をリストから選べるようになります。 |
値リストの編集の許可 | 値集合タイプが[値リスト]のときに、値リストの項目を追加したり、削除することができます。 |
リスト項目編集フォーム | 値リストを編集するのに使うフォームを指定します。 |
値集合ソースの値のみの表示 | 複数の値が許可されている場合、フィールドの値としてリスト以外の値が入っているときに、それを表示しないようにします。 |
入力チェック
[入力チェック]の設定については、以下の記事で解説しています。テーブルプロパティとフォームのプロパティでの設定について記しています。
-
コンボボックスにリスト以外の値が入力されないようにするには
テーブルやフォームでコンボボックスのリストから値を選択して入力するようにしていても、プロパティの[入力チェック]を[いいえ]に設定していると ...
複数の値の許可
[複数の値の許可]で[はい]を選択した場合の注意点などをまとめておきます。
フィールドプロパティの[複数の値の許可]で[はい]を選択すると、以下のように複数のリストを選択できるようになります。
[複数の値の許可]で[はい]を選択した後、[標準]タブに切り替えると[インデックス]の項目はありません。
注意一度[複数の値の許可]で[はい]を選択すると、[いいえ]に戻すことはできません。
[はい]に設定すると、以下のメッセージウィンドウが表示されます。
また、複数の値を許可すると、単純なデータベースの場合は、問題ないかもしれませんが、複雑なデータベースの場合は、問題が起きる場合もあります。
十分に気をつけて判断してください。これは、Access2007からの機能です。
複数の値を格納できるように'担当者'ルックアップ列を変更しました。テーブルを保存した後に、この変更を元に戻すことはできません。
[複数の値の許可]で[はい]を選択してテーブルを保存した後、[いいえ]に設定しようとすると、以下のメッセージウィンドウが表示されます。
'担当者'ルックアップ列は複数の値を格納できるように変更されています。この設定を元に戻すことはできません。
値リストの編集の許可
データシートビューでプルダウンの下に小さなマークが出ますが、このマークを表示するか、しないかです。
このマークが表示されている場合は、[値リストの編集の許可]が[はい]になっている場合です。
ポイントすると、ポップヒントに[リスト項目の編集]と表示されます。
リスト項目の編集をする場合は、このマークをクリックします。
[リスト項目の編集]ダイアログボックスが表示されます。
1行に1項目ずつ入力して追加します。
項目を削除する場合は、その行を選択して[Delete]キーを押します。
項目の編集も可能です。
既定値は、ドロップダウンから選択する前に表示される値を指定します。
[OK]ボタンをクリックすると、編集した内容が反映されます。
[いいえ]を選択すると、下のようにマークは表示されません。
リストの編集を許可しない場合は、[いいえ]にします。
注意[はい]になっていると、誰でもリストの編集ができるようになりますので注意してください。
以下の記事では、フォームでの[値リストの編集の許可]について解説しています。参考になると思います。
-
コンボボックスとリストボックスのカスタマイズ(プロパティの設定)
フォームにコンボボックスやリストボックスを使用すると、一覧のリストの中から選択できるようになります。 作成方法はいくつかありますが、コンボボ ...
データシートビューからルックアップの変更
ルックアップの変更は、データシートビューからもできます。
[フィールド]タブの[ルックアップの変更]ボタンをクリックします。
以下のようにルックアップウィザードが表示されます。
参考ルックアップウィザードで[ルックアップフィールドの値を別のテーブルまたはクエリから取得する]を選択した場合は、[ルックアップの変更]のコマンドは有効になりますが、以下のメッセージウィンドウが表示され変更はできません。
このルックアップは、デザインビューでのみ変更できます。
ルックアップウィザードでテーブルを指定して作成する方法は、以下の記事で解説しています。
-
ルックアップウィザードでコンボボックスの設定(別のテーブルから値取得)
Accessのテーブルで、フィールドに入力する値をコンボボックスから選択する方法です。 コンボボックスとは、フィールドの値を入力する代わりに ...
データシートビューからルックアップ列を作成
既存のフィールドに対しては、データシートビューからルックアップフィールドの設定はできませんが、新しいルックアップ列を作成することはできます。
[フィールド]タブの[その他のフィールド]から、[ルックアップ/リレーション]を選択します。
選択フィールドの右側のフィールドに作成されます。
テーブルでしっかり設定しておくと、フォームを作成する場合などに効率よく進められます。