概要
| この記事の結論 Accessのコンボボックスは、フォームをデザインビューで開き、コントロールから配置して作成します。ウィザードで候補の取得方法と保存先を決めると、文字の手入力を減らせます。候補から選ぶ目的が「保存」か「検索」かを先に決めましょう。 |
この記事でわかること
- 候補を値リストにするかテーブルにするか選ぶ
- ウィザードでフォームへ配置する
- プロパティで保存先と候補を確認する
- 入力制限と未選択を別々に決める
この記事の主な内容
- コンボボックスは候補から選ぶ入力部品
- 候補を値リストにするかテーブルにするか選ぶ
- ウィザードでフォームへ配置する
- プロパティで保存先と候補を確認する
- 入力制限と未選択を別々に決める
- フォームビューで保存と再表示を試す
- よくある質問
想定読了時間:約8分
1 コンボボックスは候補から選ぶ入力部品
Accessのコンボボックスは、フォームをデザインビューで開き、コントロールから配置して作成します。
ウィザードで候補の取得方法と保存先を決めると、文字の手入力を減らせます。
候補から選ぶ目的が「保存」か「検索」かを先に決めましょう。
コンボボックスとは、一覧を開いて値を選択できる部品です。
フォームに置いただけでテーブルへ保存されるわけではありません。

2 候補を値リストにするかテーブルにするか選ぶ
候補が少なくほとんど変わらない区分なら、値リストを使えます。
商品や担当者など追加・名称変更がある候補は、別のマスターテーブルにする方が保守しやすくなります。
「未着手・進行中・完了」を選ぶ例では、保存先に短いテキストの進捗を用意します。
既存テーブルへ項目を追加する場合は、過去の未入力行をどう扱うかも決めます。

設定例と確認点
| 候補 | 方式 | 理由 |
|---|---|---|
| 固定の小さな区分 | 値リスト | 設定が簡単 |
| 商品・担当者 | テーブル/クエリ | 変更と追加を管理 |
| 検索条件 | 非連結も可能 | 検索値を保存しない |
3 ウィザードでフォームへ配置する
フォームのレコードソースをT_作業に設定してから、コンボボックスを配置します。
コントロールウィザードが有効なら、候補の作り方を案内する画面が開きます。
表示名や操作順はAccessの版によって異なる場合があります。

操作手順
1. フォームをデザインビューで開きます。
2. コンボボックスを選び、詳細セクションに配置します。
3. 値を自分で入力する方法を選択します。
4. 未着手、進行中、完了を1列で入力します。
5. 選択値を進捗フィールドへ保存する設定にします。
6. 名前をcbo進捗、ラベルを進捗にして保存します。

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