リスト ボックスまたはコンボ ボックスを使用して選択肢の一覧を作成する

リスト ボックスまたはコンボ ボックスを使用して選択肢の一覧を作成する

Access デスクトップ データベースのフォームにデータを入力する場合、一覧から値を選ぶ方が、値を覚えて入力するよりも早くて簡単です。選択肢の一覧があれば、確実に適切な値がフィールドに入力されます。リスト コントロールは、既存のデータに結び付けることも、コントロール作成時に入力した固定値を表示することもできます。Access フォームで使用できるリスト コントロールの詳細と、リスト コントロールの作成方法およびカスタマイズ方法について、この後に説明します。

注: この記事は、Access Web アプリには適用されません。

目的に合ったトピックをクリックしてください

リスト ボックス コントロールの種類について

ウィザードを使用してリスト ボックスまたはコンボ ボックスを作成する

フォームにルックアップ フィールドを追加してリスト ボックスまたはコンボ ボックスを作成する

ウィザードを使用しないでリスト ボックスまたはコンボ ボックスを作成する

フォーム ビューでフォームを開いたまま値リストを編集する

リスト ボックスまたはコンボ ボックスをカスタマイズする

リスト ボックス コントロールの種類について

Access には、リスト ボックスとコンボ ボックスという 2 種類のリスト コントロールがあります。

リスト ボックス    リスト ボックス コントロールは、値または選択肢の一覧を表示するコントロールです。リスト ボックスはデータ行を表示します。通常は、常に複数の行が見えるようにリスト ボックスのサイズを設定します。行は 1 つ以上の列を含むことができ、列は見出し付きまたは見出しなしで表示できます。コントロールに表示できるよりも多くの行がリストに含まれている場合は、コントロールにスクロール バーが表示されます。ユーザーはリスト ボックスに表示される選択肢を選ぶことしかできず、リスト ボックスに値を入力することはできません。

リスト ボックス

コンボ ボックス    コンボ ボックス コントロールを使用すると、選択肢の一覧をよりコンパクトに表示できます。一覧はドロップダウン矢印をクリックするまで非表示になっています。コンボ ボックスでは、一覧に存在しない値を入力することもできます。このように、コンボ ボックス コントロールはテキスト ボックスとリスト ボックスの機能を組み合わせたコントロールです。

コンボ ボックス (ドロップダウン リスト) を使用する

1. 矢印をクリックしてドロップダウン リストを表示します。

2. ドロップダウン リスト内のオプションをクリックします。

リスト ボックスとコンボ ボックスは、連結コントロールにすることも非連結コントロールにすることもできます。これらのコントロールでは、自分で入力した固定リストの値や、テーブルまたはクエリの値を検索できます。テーブルまたはクエリの値を検索する連結リスト ボックスまたはコンボ ボックスを作成するには、フォームがレコード ソースに基づいており、そのレコード ソースに外部キー フィールドまたはルックアップ フィールドが含まれている必要があります。この場合、リスト ボックスまたはコンボ ボックス内のデータをフォーム上のデータにリンクするために必要なリレーションシップを作成できます。

ウィザードを使用してリスト ボックスまたはコンボ ボックスを作成する

  1. ナビゲーション ウィンドウでフォームを右クリックし、[デザイン ビュー] をクリックします。

    注: この手順は、フォームをテーブルまたはクエリに連結する場合の手順です。この手順の一部は、非連結フォームには適用しません。フォームがテーブルまたはクエリに連結されているかどうかを確認するには、F4 キーを押してプロパティ シートを表示します。プロパティ シートの [データ] タブにある "レコード ソース" プロパティ ボックスに、フォームが連結されているテーブルまたはクエリが表示されます。

  2. [デザイン] タブの [コントロール] グループで、[コントロール ウィザードの使用] ボタンの画像 が選択されていることを確認します。

  3. [リスト ボックス] ボタンの画像 ツールまたは [コンボ ボックス] ボタンの画像 ツールをクリックします。

  4. フォームで、リスト ボックスまたはコンボ ボックスを配置する場所をクリックします。

    • 選択に応じて、リスト ボックス ウィザードまたはコンボ ボックス ウィザードが起動します。

  5. コントロールに表示する値を取得する方法の確認を求められたら、次のいずれかの操作を行います。

    • レコード ソースから現在のデータを表示する場合は、[テーブルまたはクエリの値をリスト ボックス/コンボ ボックスに表示する] をクリックします。

    • ほぼ変わることのない固定値リストを表示する場合は、[表示する値をここで指定する] をクリックします。

    • コントロールをデータ入力ツールとして機能させるのではなく、コントロールで検索処理を実行する場合は、[リスト ボックス/コンボ ボックスで選んだ値に対応するレコードをフォームで検索する] をクリックします。これにより、ユーザーが入力した値に基づいて検索処理を実行するマクロが埋め込まれた、非連結コントロールが作成されます。

  6. ウィザードの手順に従って値の表示方法を指定します。

  7. ウィザードの最初のページで最初の 2 つのオプションのどちらかを選んだ場合は、値を選んだときの Access の動作を指定するよう求められます。次のいずれかの操作を行います。

    • バインドされていないコントロールを作成するには、[後の作業で使用する] をクリックします。ユーザーが選んだ値は、ユーザーが選択を変更するかフォームを閉じるまで Access で保持されますが、テーブルには書き込まれません。

    • バインドされたコントロールを作成するには、[次のフィールドに保存する] をクリックし、コントロールを連結するフィールドを選びます。

  8. [次へ] をクリックし、コントロールのラベルを入力します。このラベルはコントロールの横に表示されます。

  9. [完了] をクリックします。

フォームにルックアップ フィールドを追加してリスト ボックスまたはコンボ ボックスを作成する

フォームにルックアップ フィールドを追加して連結リスト ボックスまたは連結コンボ ボックスを作成することができます。

  1. テーブルにルックアップ フィールドを作成します。複数値または単一値を持つルックアップ フィールドを作成できます。

    ルックアップ フィールドの作成の詳細については、「複数の値を格納するルックアップ列を追加または変更する」を参照してください。

  2. 次のいずれかの操作を実行します。

    • ルックアップ フィールドを含むレコード ソースに基づく新しいフォームを作成します。たとえば、ナビゲーション ウィンドウで、ルックアップ フィールドを含むテーブルまたはクエリを選んだ後、[作成] タブの [フォーム] グループで [フォーム] ボタンの画像 を選びます。

      ルックアップ フィールドのコンボ ボックスが自動的に作成されます。

    • 次のようにしてフォームにリスト ボックスまたはコンボ ボックスを追加します。

      1. ルックアップ フィールドを含むレコード ソースに基づくフォームをデザイン ビューで開きます。

      2. [フィールド リスト] ウィンドウが表示されていない場合は、Alt キーを押しながら F8 キーを押して表示します。

      3. ルックアップ フィールドをダブルクリックするか、ルックアップ フィールドを [フィールド リスト] ウィンドウからフォームにドラッグします。フィールドに連結されたコンボ ボックスが自動的に作成されます。

        ヒント: コンボ ボックスをリスト ボックス (またはその逆) に変更するには、コントロールを右クリックし、ショートカット メニューの [コントロールの種類の変更] をクリックして、目的のコントロールの種類をクリックします。

ウィザードを使用しないでリスト ボックスまたはコンボ ボックスを作成する

ウィザードを使用しないでリスト ボックスまたはコンボ ボックスを作成するときは、コントロールのプロパティの多くを手動で設定します。特定のプロパティの詳細情報を確認するには、該当するプロパティ ボックスをクリックして F1 キーを押します。

  1. フォームをデザイン ビューで開きます。

  2. [デザイン] タブの [コントロール] グループで、[コントロール ウィザードの使用] が選択されていないことを確認します。

    ボタンの画像

  3. [リスト ボックス] ボタンの画像 ツールまたは [コンボ ボックス] ボタンの画像 ツールをクリックします。

  4. フォームの内側を 1 回クリックして既定サイズのコントロールを作成するか、コントロールをクリックしてドラッグし目的のサイズに変更します。

  5. コントロールを選んだ状態で、F4 キーを押してプロパティ シートを開きます。

  6. 次の表を参考にして、[値集合タイプ] プロパティと [値集合ソース] プロパティを設定します。

目的

[値集合タイプ] プロパティの設定

[値集合ソース] プロパティの設定

テーブルまたはクエリ、あるいは SQL ステートメントの結果から値を取得する

テーブル/クエリ

ドロップダウン リストで、リスト ボックスまたはコンボ ボックスに表示する値を含むテーブルまたはクエリを選びます。

または

SQL ステートメントを入力します。

または

プロパティ シートの [データ] タブで、 [ビルダー] ボタン をクリックしてクエリ ビルダーを開きます。クエリの作成の詳細については、「簡単な選択クエリを作成する」を参照してください。

固定値リストを表示する

値リスト

固定値のリストをセミコロン (;) で区切って入力します。例: North;South;East;West

または

プロパティ シートの [データ] タブで、 [ビルダー] ボタン をクリックして [リスト項目の編集] ダイアログ ボックスを開き、行を分けて項目を入力します。

テーブルまたはクエリからフィールドの一覧を表示する

フィールド リスト

ドロップダウン リストで、リスト ボックスまたはコンボ ボックスに表示するフィールド名を含むテーブルまたはクエリを選びます。

  1. コントロールに複数の列を表示する場合は、"列数" プロパティ ボックスをクリックし、必要な列数を入力します。"列幅" プロパティを設定して列の幅を調整します。各プロパティの詳細を表示するには、プロパティ ボックス内にカーソルを置いて F1 キーを押します。

  2. 選んだ値を保存するには、"コントロール ソース" プロパティ ボックスをクリックし、リスト ボックスまたはコンボ ボックスを連結するフィールドを選びます。

フォーム ビューでフォームを開いたまま値リストを編集する

リスト ボックスまたはコンボ ボックスの "値集合タイプ" プロパティが [値リスト] に設定されている場合は、フォーム ビューでフォームを開いたまま値リストを編集できます。そのため、リストに変更を加える必要がある場合に、デザイン ビューまたはレイアウト ビューに切り替えてプロパティ シートを開き、コントロールの [値集合ソース] プロパティを編集する必要がありません。

注: 値リストを編集するには、リスト ボックスまたはコンボ ボックスの "値リストの編集の許可" プロパティを [はい] に設定する必要があります。

フォーム ビューで値リストを編集する

カーソルをリスト ボックスまたはコンボ ボックス内に移動する (ボックスをクリックするか Tab キーでボックスに移動する) と、リストの下にボタンが表示されます。

コンボ ボックスと値リスト編集ボタン

  1. ボタンをクリックして [リスト項目の編集] ダイアログ ボックスを開きます。

  2. 項目ごとに行を分けてリスト項目を編集します。

  3. 新しいレコードの既定値を選ぶには、[既定値] ボックスのドロップダウン矢印をクリックし、目的の値をクリックします。

  4. [OK] をクリックします。

フォーム ビューでの値リストの編集を禁止する

  1. ナビゲーション ウィンドウでフォームを右クリックし、[デザイン ビュー] または [レイアウト ビュー] をクリックします。

  2. コントロールをクリックして選び、F4 キーを押してプロパティ シートを表示します。

  3. プロパティ シートの [データ] タブで、"値リストの編集の許可" プロパティを [いいえ] に設定します。

  4. [ファイル] をクリックし、[上書き保存] をクリックするか、Ctrl キーを押しながら S キー ボタンの画像 を押します。

別のフォームを指定して値リストを編集する

Access の既定では、値リストを編集する目的のために組み込みのフォームが用意されています。この目的のために別のフォームを使用する場合は、次のようにフォームの名前を [リスト項目編集フォーム] プロパティに入力できます。

  1. ナビゲーション ウィンドウでフォームを右クリックし、ショートカット メニューの [デザイン ビュー] または [レイアウト ビュー] をクリックします。

  2. コントロールをクリックして選び、F4 キーを押してプロパティ シートを表示します。

  3. プロパティ シートの [データ] タブで、"リスト項目編集フォーム" プロパティ ボックスのドロップダウン矢印をクリックします。

  4. 値リストの編集に使用するフォームをクリックします。

  5. [ファイル] をクリックし、[上書き保存] をクリックするか、Ctrl キーを押しながら S キー ボタンの画像 を押します。

リスト ボックスまたはコンボ ボックスをカスタマイズする

フォームをデザイン ビューで開いた状態で、リスト ボックスまたはコンボ ボックスが選択されていることを確認し、F4 キーを押してコントロールのプロパティ シートを開きます。次に、以下のいずれかの操作を行います。

  • リスト ボックスまたはコンボ ボックスの並べ替え順序を変更する    ウィザードを使用してリスト ボックスまたはコンボ ボックスを作成した場合、リストを構成する行は表示される最初の列で自動的に並べ替えられます。別の並べ替え順序を指定する場合、またはコントロールの "値集合ソース" プロパティを保存済みクエリに設定した場合は、次の手順を実行します。

    • [データ] タブをクリックし、[値集合ソース] プロパティ ボックスをクリックします。

    • プロパティ シートの [データ] タブで、 [ビルダー] ボタン をクリックしてクエリ ビルダーを開きます。

    • 並べ替える列の [並べ替え] 行で、目的の並べ替え順序を指定します。

  • リスト ボックスまたはコンボ ボックスの列を連結する   

    リスト ボックスまたはコンボ ボックスの [連結列] プロパティ ボックスで、リスト ボックスまたはコンボ ボックスでの位置に対応した数字を指定します。たとえば、「1」を入力すると、リスト ボックスまたはコンボ ボックスの最初の列が、[コントロール ソース] プロパティに指定した基になるフィールドに連結されます。列を数えるときは非表示の列を含めます。

    [連結列] プロパティを 0 に設定すると、1 つ以上の列の値の代わりにリスト インデックスが保存されます。これは、リスト値ではなく連続する数字を格納する場合に便利です。

  • フォームのリスト ボックスまたはコンボ ボックスを非表示にする   

    • [列幅] プロパティ ボックスで、非表示にする 1 つ以上の列の列幅として「0」を入力します。

      たとえば、連結された 2 列のコンボ ボックスに幅 1.25 cm の SupplierID 列と幅 5 cm の SupplierName 列があるとします。SupplierID 列はリストの最初の列であり、[列幅] プロパティは [1.25cm;5cm] に設定されています。SupplierID 列を非表示にするには、"列幅" プロパティを [0cm;5cm] に設定します。SupplierID 列は非表示であっても連結列です。

  • 注: コンボ ボックスでは、リストが表示されていない場合、非表示でない最初の列がコンボ ボックスのテキスト ボックス部分に表示されます。たとえば、前に示した例では SupplierID 列が非表示であるため SupplierName 列が表示されます。SupplierID 列が非表示でない場合は、SupplierName 列ではなく SupplierID 列が表示されます。

  • フォームのコンボ ボックスに列見出しを追加する   

    • 列見出しを表示するには、[列見出し] プロパティ ボックスで、[はい] をクリックします。コンボ ボックスの見出しはリストが開かれたときにだけ表示されます。

      コンボ ボックスまたはリスト ボックスがレコード ソースに基づく場合、レコード ソースのフィールド名が列見出しとして使用されます。コンボ ボックスまたはリスト ボックスが固定値リストに基づく場合は、値リスト ("値集合ソース" プロパティ) で最初から n 個のデータ項目が列見出しとして使用されます。ここで、n は [列数] プロパティで設定した数字です。

  • フォームのコンボ ボックスで自動拡張機能を無効にする   

    • [自動拡張] プロパティ ボックスで [いいえ] をクリックします。

      [自動拡張] プロパティを [いいえ] に設定すると、リストから値を選ぶか、値全体を入力する必要があります。

  • フォームのコンボ ボックスでリスト ボックス部分の幅を設定する   

    • [リスト幅] プロパティ ボックスで、現在の単位 (Windows コントロール パネルで設定されている単位) を使用して目的の幅を入力します。既定以外の単位を使用するには、単位の指示子を含めます。たとえば、「2 cm」と入力します。スクロール バーのための十分なスペースを確保してください。

      コンボ ボックスのリスト ボックス部分は、テキスト ボックス部分より幅を広くすることはできますが、狭くすることはできません。既定の設定 ([自動]) では、コンボ ボックスのリスト ボックスはテキスト ボックス部分と同じ幅になります。

  • フォームのコンボ ボックスに表示する行の最大数を設定する   

    • [リスト行数] プロパティ ボックスに数値を入力します。

      実際の行数が "リスト行数" プロパティで指定した数字を超えると、コンボ ボックスにスクロール バーが表示されます。

  • フォームのコンボ ボックスへの入力をリスト部分に含まれる項目に制限する   

    • [入力チェック] プロパティ ボックスで [はい] をクリックします。

      注: 

    • コンボ ボックスに表示される最初の列が連結列でない場合、"入力チェック" プロパティが [いいえ] に設定されていても、入力はリストに制限されます。

    • "入力チェック" プロパティが [いいえ] に設定されている場合、リストに存在しない入力項目を入力しようとすると、コンボ ボックスが連結されていれば、入力項目は基になるフィールドに格納されますが、リストには追加されません。新しい入力項目をリストに追加するには、"リスト外入力時" プロパティと、リストにない値が入力されたときに実行するイベントを使用します。

ページの先頭へ

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×