Accessコンボボックスの作り方と基本設定

概要

この記事の結論
Accessのコンボボックスは、フォームをデザインビューで開き、コントロールから配置して作成します。ウィザードで候補の取得方法と保存先を決めると、文字の手入力を減らせます。候補から選ぶ目的が「保存」か「検索」かを先に決めましょう。

この記事でわかること

  • 候補を値リストにするかテーブルにするか選ぶ
  • ウィザードでフォームへ配置する
  • プロパティで保存先と候補を確認する
  • 入力制限と未選択を別々に決める

この記事の主な内容

  1. コンボボックスは候補から選ぶ入力部品
  2. 候補を値リストにするかテーブルにするか選ぶ
  3. ウィザードでフォームへ配置する
  4. プロパティで保存先と候補を確認する
  5. 入力制限と未選択を別々に決める
  6. フォームビューで保存と再表示を試す
  7. よくある質問

想定読了時間:約8分


1 コンボボックスは候補から選ぶ入力部品

Accessのコンボボックスは、フォームをデザインビューで開き、コントロールから配置して作成します。
ウィザードで候補の取得方法と保存先を決めると、文字の手入力を減らせます。
候補から選ぶ目的が「保存」か「検索」かを先に決めましょう。

コンボボックスとは、一覧を開いて値を選択できる部品です。
フォームに置いただけでテーブルへ保存されるわけではありません。

コンボボックスの用途について、入力用、検索用の関係を示す図。

2 候補を値リストにするかテーブルにするか選ぶ

候補が少なくほとんど変わらない区分なら、値リストを使えます。
商品や担当者など追加・名称変更がある候補は、別のマスターテーブルにする方が保守しやすくなります。

「未着手・進行中・完了」を選ぶ例では、保存先に短いテキストの進捗を用意します。
既存テーブルへ項目を追加する場合は、過去の未入力行をどう扱うかも決めます。

候補の作り方について、値リスト、テーブルの関係を示す図。

設定例と確認点

候補方式理由
固定の小さな区分値リスト設定が簡単
商品・担当者テーブル/クエリ変更と追加を管理
検索条件非連結も可能検索値を保存しない

3 ウィザードでフォームへ配置する

フォームのレコードソースをT_作業に設定してから、コンボボックスを配置します。
コントロールウィザードが有効なら、候補の作り方を案内する画面が開きます。
表示名や操作順はAccessの版によって異なる場合があります。

ウィザードの流れについて、配置、候補、保存先、命名の関係を示す図。

操作手順

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

2. コンボボックスを選び、詳細セクションに配置します。

3. 値を自分で入力する方法を選択します。

4. 未着手、進行中、完了を1列で入力します。

5. 選択値を進捗フィールドへ保存する設定にします。

6. 名前をcbo進捗、ラベルを進捗にして保存します。

3つの設定の役割について、値集合タイプ、値集合ソース、コントロールソースの関係を示す図。

4 プロパティで保存先と候補を確認する

作成後はプロパティシートのデータ設定を確認します。
値集合タイプは値リスト、値集合ソースは候補一覧、コントロールソースは進捗です。
非連結ならコントロールソースは空になります。

テーブル参照型では、表示する名称と保存するIDを分けられます。
ウィザードを使った場合でも、連結列と列数を確認し、保存先にどの値が入るかを自分で確かめてください。

設定例と確認点

設定この例
値集合タイプ値リスト
値集合ソース“未着手”;”進行中”;”完了”
コントロールソース進捗
連結列・列数1・1
制限と必須の違いについて、候補外入力、未選択の関係を示す図。

5 入力制限と未選択を別々に決める

候補外の文字を受け付けない場合は「リスト入力のみ」をはいにします。
ただしNullの未選択を禁止する機能ではありません。
必須入力にしたい場合は、テーブルの値要求や保存時の入力チェックを併用します。

候補を増やすたびにフォームの設計変更が必要なら、値リストからマスターテーブルへ移す時期です。
候補の表示順や非使用状態も管理できるようにしておくと、運用で困りにくくなります。

保存の確認手順について、選択、保存、再表示の関係を示す図。

既存Accessへの影響を判断できない場合

本記事の手順をコピーしたファイルで試しても解決しない場合や、既存データ・他の画面への影響を判断できない場合は、お気軽にご相談ください。対象ファイル、操作手順、期待する結果を整理すると、調査や改修の範囲を相談しやすくなります。


6 フォームビューで保存と再表示を試す

フォームビューで進行中を選び、レコードを保存した後に画面を開き直します。
値が戻ることと、T_作業の進捗に保存されていることを確認します。
保存できない場合は非連結設定やフォームの更新可否を確認してください。

検索用のコンボボックスは、値を選んだ後に検索処理を呼び出す設計が必要です。
入力用の保存設定をそのまま検索用に使うと、意図せず現在のレコードを書き換えることがあるため用途を分けます。

運用に合わせた見直しについて、候補追加、名称変更、用途の関係を示す図。

7 よくある質問

値リストなら値集合ソースを編集します。
変更が多い場合はテーブル参照型を検討します。

コントロールソースが空でないか、フォームのレコードソースが更新可能か確認します。

リスト入力のみを「はい」にします。
未選択禁止は別に設定します。

まとめ

検索用のコンボボックスは、値を選んだ後に検索処理を呼び出す設計が必要です。
入力用の保存設定をそのまま検索用に使うと、意図せず現在のレコードを書き換えることがあるため用途を分けます。

本記事の手順をコピーしたファイルで試しても解決しない場合や、既存データ・他の画面への影響を判断できない場合は、お気軽にご相談ください。対象ファイル、操作手順、期待する結果を整理すると、調査や改修の範囲を相談しやすくなります。


参考情報

Microsoft公式資料を参照しています。サンプルは説明用の架空データです。
Windows版Accessの実機検証は未実施のため、適用前に対象環境のコピーで結果を確認してください。

Microsoft:リストとコンボの作成
https://support.microsoft.com/en-us/access/add-a-list-box-or-combo-box

Microsoft:ControlSource
https://learn.microsoft.com/en-us/office/vba/api/access.combobox.controlsource

Microsoft:LimitToList
https://learn.microsoft.com/en-us/office/vba/api/access.combobox.limittolist

TOP