概要
Accessのコントロールとは、フォームやレポートに配置して、データを表示・入力したり、選択やボタン操作を行ったりするための部品です。代表例にはテキストボックス、ラベル、コンボボックス、リストボックス、コマンドボタン、チェックボックス、サブフォームなどがあります。用途だけでなく、データとの結び付きや保守性まで考えて選ぶことが重要です。
この記事でわかること
- Accessフォームのコントロールとは何か、どのような種類があるか
- テキストボックス・ラベル・コンボボックス・リストボックスなどの役割と違い
- チェックボックス・オプションボタン・トグルボタンの使い分け
- 連結・非連結・演算コントロールの違いとControl Sourceの考え方
- フィールドリストやデザインタブからコントロールを追加する方法
- Control Source、Row Source、Bound Columnなどの重要プロパティ
- 入力ミスを減らし、保守しやすいフォームを設計するための注意点
この記事の主な内容
1.Accessフォームのコントロールとは?まず30秒で理解しよう
2.よく使うフォームコントロールの種類と役割
3.コンボボックス・リストボックス・チェックボックスなどをどう使い分ける?
4.連結・非連結・演算コントロールの違い
5.フォームへコントロールを追加する方法と重要プロパティ
6.使いやすく保守しやすいフォームを作るための注意点
7.まとめ|コントロールは「目的」と「データとの関係」で選ぶ
8.よくある質問(FAQ)
想定読了時間:約13~16分
1. Accessフォームのコントロールとは?まず30秒で理解しよう
Accessのフォームは、画面そのものと、その上に配置するさまざまな部品で構成されています。この部品を「コントロール」と呼びます。例えば顧客名を入力する欄、部署を選ぶプルダウン、検索を実行するボタンは、すべてフォームのコントロールです。
つまり、フォームを使いやすく設計するには、コントロールの種類を覚えるだけでは不十分です。「何を入力させたいのか」「どのデータを表示するのか」「どの操作を実行させるのか」に応じて適切な部品を選ぶ必要があります。

| 30秒でまとめると コントロールは、Accessフォームの「入力・表示・選択・操作」を構成するUI部品です。自由入力ならテキストボックス、候補選択ならコンボボックス、処理実行ならコマンドボタンというように目的で使い分けます。 |
コントロールは「表示・入力・操作・装飾」に分けて考える
初心者の方は、最初から20種類以上の名称を暗記する必要はありません。まず「データを表示・入力する」「候補を選ばせる」「処理を実行する」「画面を見やすく整える」という4つの目的に分けると理解しやすくなります。
| 目的 | 代表的なコントロール | 使用例 |
| 表示・入力 | テキストボックス、チェックボックス | 顧客名、数量、日付、利用可否 |
| 選択 | コンボボックス、リストボックス、オプションボタン | 担当者、区分、状態の選択 |
| 操作 | コマンドボタン、ナビゲーション | 登録、検索、印刷、画面移動 |
| 構造・装飾 | ラベル、タブ、サブフォーム、線・四角形 | 見出し、画面整理、明細表示 |
2. よく使うフォームコントロールの種類と役割
Accessには多くのコントロールがあります。ただし、日常的な業務フォームで頻繁に使うものはある程度決まっています。ここでは、まず覚えておきたい10種類を中心に整理します。

| コントロール | 主な用途 | よく使う場面 |
| テキストボックス | 文字・数値・日付の表示/入力 | 顧客名、金額、登録日 |
| ラベル | 固定文字・見出し | 項目名、説明文、タイトル |
| コンボボックス | 候補をプルダウン選択 | 担当者、商品、区分 |
| リストボックス | 候補を一覧表示して選択 | カテゴリ一覧、検索候補 |
| コマンドボタン | 処理を実行 | 登録、検索、印刷、閉じる |
| チェックボックス | Yes/Noを選択 | 有効/無効、対象/対象外 |
| オプションボタン | 複数候補から1つを選択 | 区分、支払方法 |
| トグルボタン | ON/OFFをボタン形式で表現 | 表示切替、状態切替 |
| オプショングループ | 複数の選択肢を1グループ化 | 複数候補から1つ選択 |
| サブフォーム | 関連する別データを表示・入力 | 顧客+受注明細、伝票+明細 |
テキストボックス|文字・数値・日付を表示・入力する
最も基本的なコントロールがテキストボックスです。顧客名、住所、電話番号、数量、金額、日付など、フォーム上で値を表示したり入力したりするときに使います。
また、Control Sourceにフィールド名を設定すればテーブルやクエリのデータと連結できます。一方で、式を指定して「数量×単価」などの計算結果を表示することも可能です。
ラベル|項目名や説明を表示する
ラベルは、利用者が入力するデータではなく、固定された文字を表示するためのコントロールです。例えば「顧客名」「電話番号」という項目名や、入力方法の注意書きなどに利用します。
テキストボックスを作成すると、Accessが対応するラベルを一緒に生成する場合があります。見た目は似ていますが、ラベルは固定表示、テキストボックスはデータ表示・入力という違いがあります。

コンボボックス|候補から1件を選ばせる
入力候補が決まっている場合は、自由入力よりコンボボックスが適しています。例えば担当者、部署、商品、顧客区分などを一覧から選択させれば、表記ゆれや入力ミスを減らしやすくなります。
さらに、画面には「営業部」と表示しながら、実際には部署IDを保存する設計も可能です。そのため、マスタテーブルと組み合わせたフォームでは非常によく使われます。
リストボックス|候補を常に一覧表示する
リストボックスも候補を選択するコントロールですが、コンボボックスとは表示方法が異なります。候補が常に画面上へ表示されるため、選択肢を見比べながら操作したい場合に向いています。
一方で、候補数が多いと画面スペースを使います。したがって、項目数や画面レイアウトを考え、プルダウンで十分ならコンボボックス、一覧を見せたいならリストボックスと使い分けます。

サブフォーム|親データに関連する明細をフォーム内へ表示する

サブフォームは、1つのフォームの中に別のフォームを表示する仕組みです。例えば顧客フォームの中へ「その顧客の受注一覧」を表示したり、受注伝票の中へ「受注明細」を表示したりできます。
この構成は1対多のデータを扱うときに特に有効です。ただし、リンク親フィールド/リンク子フィールドやリレーションを適切に設定しないと、別の顧客の明細が表示されるなどの問題が起こるため注意します。
その他の便利なコントロール

用途によっては、タブコントロール、ナビゲーション、画像、添付ファイル、グラフ、Webブラウザー、ハイパーリンク、線、四角形、ページ区切りなども利用できます。
ただし、初心者のうちは利用頻度の高いコントロールから覚えれば十分です。まず入力・選択・操作を構成できるようになり、必要になった段階で追加機能を検討すると理解しやすくなります。
3. コンボボックス・リストボックス・チェックボックスなどをどう使い分ける?
コントロール選びでは、見た目の好みより「入力する値の性質」を基準にすると迷いにくくなります。自由入力なのか、候補が決まっているのか、複数候補から1つ選ぶのかを最初に整理します。

| やりたいこと | おすすめ | 理由 |
| 氏名や住所を自由入力 | テキストボックス | 利用者が任意の文字を入力できる |
| 担当者を一覧から選択 | コンボボックス | 候補を省スペースで選択できる |
| 候補を常に見せて選択 | リストボックス | 一覧を見比べながら選べる |
| Yes/Noを入力 | チェックボックス | 状態を直感的に表現できる |
| 3~5個の候補から1つ選択 | オプショングループ | 候補が少ないと選択しやすい |
| 登録・検索などを実行 | コマンドボタン | 処理の入口を明確にできる |
| 親に紐づく明細を表示 | サブフォーム | 1対多データを同じ画面で扱える |
選択肢が決まっているなら自由入力を減らす
例えば担当部署をテキストボックスへ自由入力させると、「営業部」「営業」「営業1課」など表記がばらつく可能性があります。その結果、後から集計や検索を行うときにデータの統一が難しくなります。
そのため、部署マスタがあるならコンボボックスから選ばせる設計が適しています。入力時点で値を統一できるため、データ品質の改善にもつながります。
コンボボックスとリストボックスの使い分け
候補が多い場合や画面をすっきり見せたい場合はコンボボックスが向いています。通常は選択結果だけを表示し、クリックしたときに候補を展開できるためです。
反対に、検索条件やカテゴリなどを常に一覧で見せたい場合はリストボックスが便利です。特に複数候補を見比べながら選択する画面では、操作意図が伝わりやすくなります。
チェックボックスとオプショングループの使い分け
「対象である/対象外である」のように1つの状態をYes/Noで持つならチェックボックスが自然です。一方、支払方法など複数の値から必ず1つだけ選ぶ場合は、オプショングループを使うと選択肢の関係が分かりやすくなります。
4. 連結・非連結・演算コントロールの違い
Accessのコントロールは、見た目の種類だけでなく「データとどのように結び付いているか」という観点でも分類できます。Microsoftでは、基本的に連結・非連結・演算の3種類として整理しています。

| 種類 | データとの関係 | 代表例 |
| 連結コントロール | テーブル/クエリのフィールドと接続 | 顧客名、電話番号、受注日 |
| 非連結コントロール | フィールドに接続しない | 検索条件、見出し、操作用入力欄 |
| 演算コントロール | Control Sourceに式を設定 | 数量×単価、合計、経過日数 |
連結コントロール|フィールドの値を表示・更新する
連結コントロールは、フォームのRecord Sourceに含まれるフィールドと結び付いたコントロールです。例えば「顧客名」テキストボックスのControl Sourceが顧客名フィールドなら、表示した値を編集すると元レコードも更新されます。
非連結コントロール|検索条件や一時的な入力に使う
非連結コントロールは、テーブルやクエリのフィールドへ直接保存しません。例えば検索フォームの「検索キーワード」欄や、帳票出力期間の開始日・終了日など、一時的な条件入力に向いています。
ただし、入力した値は自動的には保存されません。必要に応じてVBAやクエリから値を参照するため、フォームの用途を明確にして使います。
演算コントロール|式の結果を画面へ表示する
演算コントロールは、Control Sourceへ式を設定して計算結果を表示します。例えば「=[数量]*[単価]」のように設定すれば、画面上で金額を計算できます。
一方で、計算結果をテーブルへ保存すべきかは別の設計判断です。同じ値をクエリでも求められる場合は、重複保存を避けた方が整合性を保ちやすいケースがあります。
5. フォームへコントロールを追加する方法と重要プロパティ
フォームへコントロールを追加する方法は、大きく2つあります。データのフィールドを表示・入力したい場合はフィールドリストから配置し、ボタンやラベルなどを追加したい場合はデザインタブのコントロールから配置すると分かりやすいでしょう。
方法1|フィールドリストからドラッグして追加する

デザインビューでAlt+F8を押すと、フィールドリストを表示できます。そこから顧客名や電話番号などのフィールドをフォームへドラッグすると、Accessがデータ型に応じた連結コントロールを作成します。
この方法ではControl Sourceが自動的に設定されるため、データ入力フォームを作成するときに便利です。また、テキストボックスと対応するラベルも同時に作られるため、初心者でも構造を作りやすくなります。
方法2|デザインタブから種類を選んで配置する
コマンドボタン、ラベル、チェックボックスなどは、デザインタブの「コントロール」から種類を選択し、フォーム上で配置します。コンボボックスではウィザードを利用して候補の取得元や保存先を設定することもできます。
さらに、配置後の詳細設定はプロパティシートで行います。コントロール名やControl Sourceだけでなく、入力可否、表示形式、イベントなども確認できます。
初心者が確認したい主要プロパティ

| プロパティ | 主に使うコントロール | 役割 |
| 名前 | すべて | VBAや式から参照する名称 |
| Control Source | テキストボックス等 | 表示・保存するフィールドや式 |
| Row Source | コンボ/リスト | 選択肢のデータ元 |
| Row Source Type | コンボ/リスト | テーブル・クエリ、値リスト等を指定 |
| Bound Column | コンボ/リスト | 選択時に保存する列 |
| Column Count | コンボ/リスト | 候補一覧に含める列数 |
| Column Widths | コンボ/リスト | 候補一覧の列幅 |
| Limit To List | コンボ | リスト外の値を許可するか |
| Default Value | 入力コントロール | 新規入力時の初期値 |
| Enabled / Locked | 各種 | 操作・編集可否 |
| Visible | 各種 | 表示・非表示 |
| イベント | 各種 | クリック時や更新時の処理 |
コンボボックスでは「表示する値」と「保存する値」を区別する
コンボボックスで特に重要なのがBound Columnです。例えば候補一覧に「部署ID」「部署名」を持たせ、利用者には部署名を見せながら、テーブルには部署IDを保存する設計があります。
また、Column Widthsを「0cm;3cm」のように設定すれば、ID列を隠して部署名だけを表示できます。この設定を理解していないと、画面に見える値と保存される値を混同しやすいため注意します。
ボタンのイベントは必要な処理だけを分かりやすく
コマンドボタンのクリック時イベントでは、VBAを利用できます。ただし、コントロールの記事ではVBAへ処理を詰め込むことが目的ではありません。イベントは操作の入口として使い、データ抽出・更新は必要に応じてクエリやSQLへ役割を分けます。
例えば、フォームを閉じるだけなら次のような短いイベントプロシージャで十分です。
| Private Sub cmdClose_Click() DoCmd.Close acForm, Me.Name End Sub |
このようにコントロール名を「cmdClose」のように役割が分かる名称へ変更しておくと、既存コードを読むときにも処理の目的を把握しやすくなります。
6. 使いやすく保守しやすいフォームを作るための注意点
フォームは見た目が整っていても、入力ルールやデータ構造が曖昧だと運用が不安定になります。ここでは、Accessフォームで特に起こりやすい失敗を実務の観点から整理します。

失敗1|すべてをテキストボックスにしてしまう
選択肢が決まっている項目まで自由入力にすると、表記ゆれが発生しやすくなります。例えば会社形態や部署名、担当者区分などは、マスタとコンボボックスを組み合わせる方がデータを統一しやすくなります。
失敗2|表示する値と保存する値を混同する
コンボボックスでは、画面に見える列と実際に保存する列が異なることがあります。Bound Columnを誤ると、部署IDを保存したいのに部署名が保存されるなど、データ構造に影響する設定ミスが起こります。
失敗3|コントロール名を初期値のままにする
Accessが自動生成する「テキスト12」「コマンド34」のような名称をそのまま使うと、VBAや式から参照するときに意味が分かりにくくなります。
そのため、顧客名ならtxtCustomerName、検索ボタンならcmdSearchなど、役割を判別しやすい命名ルールを決めることが有効です。ただし、既存システムでは名称変更がVBAへ影響するため、参照箇所を確認してから変更します。
失敗4|1画面へコントロールを詰め込みすぎる
項目が多いからといって、すべてを1つのフォームへ配置すると操作性が下がります。利用者が入力順を迷ったり、重要な項目を見落としたりするためです。
そこで、情報のまとまりごとにタブを分けたり、明細をサブフォームへ分離したり、別フォームへ画面遷移させる方法を検討します。
失敗5|データ構造より先に画面を作る
フォームはデータベースの入口です。先に画面レイアウトだけを作ると、同じ情報を複数のコントロールへ持たせたり、テーブル構造に無理が生じたりする可能性があります。
基本的には、テーブルとリレーションを整理し、必要なクエリを設計したうえでフォームを作る方が保守しやすくなります。つまり「画面から考える」のではなく「データの持ち方から考える」ことが重要です。
失敗6|イベントやVBAへ処理を集中させすぎる
ボタンや各コントロールにはイベントを設定できます。しかし、データ抽出・集計・更新まで長いVBAで1件ずつ処理すると、速度や保守性の問題につながる場合があります。
そのため、データ処理はクエリやSQL、VBAは入力チェック・処理制御・エラー処理などへ役割を分けます。共通処理は標準モジュールへ分離し、処理の所在を追いやすい構造にすることが重要です。
実務視点
フォームの使いやすさは、コントロールの配置だけでは決まりません。入力するデータの定義、マスタ構成、テーブルのリレーション、検索・更新処理、利用人数まで含めて設計すると、長く保守しやすいAccessシステムになります。
そのAccessフォーム、本当に利用者が使いやすい画面になっていますか?
「自由入力が多く表記ゆれが起きる」「項目が多すぎて操作しにくい」「古いフォームを直したいがVBAとの関係が分からない」といった課題は、コントロールを置き換えるだけでは解決しない場合があります。
既存Accessのフォーム調査・改修、新規画面開発、VBA修正、データ構造の見直し、SQL Serverへのアップサイジングまで現行システムを生かしながら改善する方法も含めて検討できますのでお気軽にご相談ください。
まとめ|コントロールは「目的」と「データとの関係」で選ぶ
Accessフォームのコントロールには、テキストボックス、ラベル、コンボボックス、リストボックス、コマンドボタン、チェックボックス、サブフォームなど多くの種類があります。
まずは「自由入力」「候補選択」「Yes/No」「処理実行」「関連データ表示」という目的から選ぶと分かりやすくなります。さらに、連結・非連結・演算というデータとの関係を理解すると、Control Sourceの意味も整理できます。
また、入力ミスを減らすには自由入力を必要以上に増やさず、コンボボックスやオプショングループを活用します。一方で、画面を作り込む前にテーブルやリレーションを整理することも欠かせません。
このように、コントロールは単なる「フォームの部品」ではなく、利用者の操作とデータベース構造をつなぐ重要な要素です。目的に合った部品を選び、プロパティまで整理することで、使いやすく保守しやすいAccessフォームへ近づけられます。
よくある質問(FAQ)
フォームやレポートに配置し、データの表示・入力・選択・操作などを行うための部品です。テキストボックス、コンボボックス、ボタンなどが代表例です。
業務フォームではテキストボックスの利用頻度が高いですが、入力内容によってコンボボックスやチェックボックス等を使い分けることが重要です。
テキストボックスはデータの表示・入力に使います。ラベルは「顧客名」などの固定文字や説明を表示するために使います。
コンボボックスは通常は折りたたまれ、必要時に候補を展開します。リストボックスは候補を常に一覧表示するため、見比べながら選択したい場合に向きます。
チェックボックスはYes/Noの状態に向きます。複数候補から1つだけ選ぶ場合は、オプショングループとオプションボタンの組み合わせが分かりやすいでしょう。
フォームの中に別のフォームを表示する仕組みです。顧客と受注履歴、受注伝票と明細など、1対多のデータを同じ画面で扱う場合に利用されます。
テーブルやクエリのフィールドと結び付いたコントロールです。Control Sourceにフィールド名が設定され、値の表示や更新に使われます。
フィールドへ直接接続しないコントロールです。検索条件や一時的な入力、画面上の説明などに利用できます。
Control Sourceに式を設定し、計算結果を表示するコントロールです。数量×単価や合計値などの表示に使えます。
テキストボックス等が表示・入力するフィールドや式を指定するプロパティです。フォーム全体のRecord Sourceとは役割が異なります。
コンボボックスやリストボックスに表示する候補のデータ元です。テーブル、クエリ、値リストなどを設定できます。
デザインビューの「コントロール」グループから追加できます。また、Alt+F8でフィールドリストを開き、フィールドをドラッグして連結コントロールを作る方法もあります。
選択しているフォームやコントロールのプロパティシートを表示・非表示にするために使います。
はい。テキストボックスやコンボボックス、サブフォームなどの標準機能だけでも多くの画面を作れます。必要になった段階でVBAやマクロを追加できます。
参考情報
Microsoft Support:Introduction to controls
Microsoft Support:Add controls to customize an object
Microsoft Support:Add a list box or combo box
Microsoft Support:Add a text box control to a form or report