概要
| この記事の結論 初めてAccessのフォームを作る場合は、元になるテーブルを選んで「作成」タブの「フォーム」を使うと基本画面を作れます。表示項目を選ぶならフォームウィザード、配置を細かく調整するならフォームデザインを選びます。作成方法と画面の用途は別なので、入力・一覧・検索・集計のどれに使うかを先に決めましょう。 Accessのフォームとは、テーブルやクエリのデータを入力・表示したり、業務操作の入口を提供したりするデータベースオブジェクトです。 |
この記事でわかること
- 用途と表示形式を先に決める
- 自動作成で動く最小画面を作る
- ウィザードで必要項目を選ぶ
- 親子データはサブフォームを検討する
この記事の主な内容
- 用途と表示形式を分けて考える
- 作成方法を選び最初のフォームを作る
- フォームウィザードの具体的な手順
- デザインビューで配置と連結を整える
- 親子データとメニュー画面を組み立てる
- 完成後の確認と保守しやすい運用
- よくある質問
想定読了時間:約14分~16分
用途と表示形式を分けて考える
フォームを作るときは、先に利用者の作業を決めます。「何を入力するか」「どの一覧を探すか」「どの結果を確認するか」が決まれば、必要な項目とボタンを絞れます。画面にすべての項目を並べることが、使いやすいフォームとは限りません。
フォームの用途は4つに整理できる
入力用、検索用、集計用、メニュー用は、画面を何のために使うかという分類です。Accessの設定画面で、この4種類を一律に選択するわけではありません。テーブルやクエリとの連結、コントロール、イベントを組み合わせて用途を実現します。
| 用途 | 利用者の操作 | 設計の中心 |
|---|---|---|
| 入力 | 受付や受注を登録・修正 | 保存先と入力ルール |
| 検索 | 条件を指定し対象を探す | 検索条件と結果の一覧 |
| 集計 | 期間別の実績を確認 | 集計クエリと条件 |
| メニュー | 目的の画面や帳票を開く | 迷わない操作導線 |

表示形式は1件を詳しく見るか一覧で見るかで選ぶ
単票フォームは1件を大きく表示でき、入力項目が多い画面に向いています。帳票フォームは同じレイアウトを繰り返して複数レコードを表示する形式です。ここでの帳票フォームは、印刷用オブジェクトである「レポート」とは別物です。
データシートは表形式で値を確認するのに便利です。単票や一覧を選んでも、保存先のテーブルの構造まで変わるわけではありません。1件の詳細画面と、探すための一覧画面を別に用意する構成も考えられます。[1][2]
作成方法を選び最初のフォームを作る
最初の1画面は自動作成で作り、実際に動く状態を確かめると学びやすくなります。表示するフィールドを選びたいならウィザード、自由な配置やイベント設定まで行うならデザインビューを使います。作成後に別の方法で調整しても構いません。
| 方法 | 始め方 | 向いている場面 | 注意点 |
|---|---|---|---|
| フォーム | 元テーブルを選び[作成]→[フォーム] | まず動く画面を作る | 不要な項目が含まれる場合がある |
| フォームウィザード | [作成]→[フォームウィザード] | 必要項目を対話形式で選ぶ | 生成後の調整も必要 |
| 空白のフォーム | [作成]→[空白のフォーム] | データを見ながら配置する | 連結元と追加項目を確認 |
| フォームデザイン | [作成]→[フォームデザイン] | 構造や動作を細かく設計する | 保存先と連結を自分で設定 |

練習用のテーブルを用意する
本記事では「T_顧客」に、顧客ID(オートナンバー型・主キー)、顧客名(短いテキスト型)、電話番号(短いテキスト型)、登録日(日付/時刻型)を用意した例を使います。電話番号は計算対象ではないため、前ゼロやハイフンを保持できる文字列として扱います。
新しい練習用ファイルで、架空の顧客を2件登録します。画面の作成前に元データがあると、フォームがどのレコードを表示しているか確認しやすくなります。既存ファイルを使う場合は、コピー上で操作し、利用中のフォームを上書きしない名前を付けます。
自動作成で最初の画面を作る
ナビゲーションウィンドウでT_顧客を選択し、[作成]タブの[フォーム]をクリックします。作成されたフォームを「F_顧客」として保存し、フォームビューに切り替えます。前後のレコードへ移動して、顧客名と電話番号が元テーブルと一致するかを確認します。[1]
自動作成の結果は、テーブル間の関係などによって異なることがあります。意図しない関連データの表示領域が加わった場合は、元データと生成された部品を確かめます。初心者の練習では、まず単一テーブルを使うと画面構造を理解しやすくなります。
フォームウィザードの具体的な手順
ウィザードでは、データ元と表示項目を順番に選びます。画面に不要な内部管理項目を最初から外せるため、自動作成よりも表示内容を絞りたい場合に便利です。完成後もデザインビューで修正できます。
| 手順 | 操作 | 例 |
|---|---|---|
| 1 | [作成]→[フォームウィザード] | 作成画面を開く |
| 2 | 元のテーブルまたはクエリを選択 | T_顧客 |
| 3 | 表示したいフィールドを右側へ移動 | 顧客名、電話番号、登録日 |
| 4 | レイアウトを選択 | 1件ずつ扱う単票形式 |
| 5 | フォームの名前を付けて完了 | F_顧客編集 |
| 6 | 表示と入力を確認 | 2件の顧客を切り替える |
全項目を一度に選ばない
「すべて追加」の操作は便利ですが、利用者が触れる必要のないIDや内部フラグまで表示されることがあります。業務で必要な項目を先に選び、識別用のIDは必要に応じて表示専用にします。不要な欄を後から消す場合も、参照されていないかを確認してください。

生成しただけで入力仕様が完成するわけではない
ウィザードは画面の骨組みを作る機能です。入力の必須条件、日付の初期値、重複の扱い、保存・取消の案内などは、業務要件に合わせて確認します。新規入力専用にしたい場合は、Accessのデータ入力用フォームの作成方法と保存の基本で扱うDataEntryなどの設定へ進みます。
一覧画面を作る目的で表形式を選んだ場合も、自由に更新できる画面にするか、参照専用にするかを決めます。「一覧だから参照専用」「単票だから入力専用」とは決まりません。更新や削除の許可は別の設定として確認しましょう。
デザインビューで配置と連結を整える
完成したフォームは、用途に合うビューに切り替えて調整します。データを操作するフォームビュー、データを見ながら配置を調整するレイアウトビュー、構造や詳細設定を扱うデザインビューを使い分けます。[1][2]
| ビュー | 主に行うこと | 注意点 |
|---|---|---|
| フォームビュー | 利用者として入力・検索する | 設計変更の画面ではない |
| レイアウトビュー | 表示データを見ながら幅などを調整 | 利用できる変更操作には範囲がある |
| デザインビュー | 部品、セクション、プロパティを編集 | 実際のデータ表示とは別に確認 |

空のフォームから作る場合の連結順序
[フォームデザイン]を使う場合は、フォーム全体を選択し、F4でプロパティシートを開きます。レコードソースへT_顧客を設定した後、[既存のフィールドを追加]から顧客名などを配置します。部品のコントロールソースも対象フィールドになっているか確認します。[4]
部品がまとまって移動する場合は、コントロールレイアウトの影響を確認します。独立して配置する必要がある場合は、対象を選びレイアウト解除を検討します。ただし、整列が崩れやすくなるため、複製したフォームで試し、入力欄の幅とラベルの位置をそろえます。
1画面の情報量を用途に合わせる
単票では氏名や住所など関連項目をまとまりとして配置します。帳票フォームでは、1行の高さと一覧に必要な列数を絞ります。長い備考を一覧の全行へ出すより、選択した1件の詳細画面で読む構成の方が操作しやすい場合があります。

画面サイズは作成者のPCだけで決めないようにします。利用者の解像度や表示倍率で開き、ラベルの欠け、横スクロール、ボタンが画面外へ出る問題を確認します。色だけで必須やエラーを伝えず、文字でも説明すると利用者が判断しやすくなります。
親子データとメニュー画面を組み立てる
受注1件に複数の明細があるようなデータは、親フォームとサブフォームに分ける構成が候補です。親には受注日や顧客、子には商品や数量を表示します。1件の受注と、その受注に属する明細だけが同時に見えることが重要です。
サブフォームのリンク項目を確認する
親のT_受注には受注IDを主キーとして持たせ、子のT_受注明細にも対応する受注IDを用意します。一般的なオートナンバーの親キーに対して、子側は数値型の長整数型など互換性のある型にします。子側の受注IDは、明細ごとに自動採番する項目ではありません。
親フォームにサブフォームコントロールを置き、そのプロパティで[リンク親フィールド]と[リンク子フィールド]を確認します。今回の例では両方とも受注IDです。フォーム名と、フォームを入れるサブフォームコントロールの名前は別なので、選択対象も確かめてください。[6][7]

受注Aから受注Bへ移動し、表示される明細が切り替わるかを試します。新しい明細を追加した場合は、子テーブルの受注IDが正しい親を指しているか確認します。リンクが未設定のまま全明細が表示される状態では、利用者が別受注の明細を編集する危険があります。
集計用の画面は結果を見る役割を明確にする
月別集計などのクエリ結果は、通常の入力テーブルと同じように更新できるとは限りません。集計画面から値を直す場合は、元データの詳細画面へ移動する導線を用意すると分かりやすくなります。集計結果を直接編集できる前提で設計しないでください。[5]
メニューは操作の入口として使う
フォームが増えたら、「新規入力」「一覧・検索」「集計・帳票」のように、利用者の目的でボタンをまとめます。名前の似たフォームをナビゲーションウィンドウから選ぶ運用より、目的の画面へ進みやすくなります。

メニュー以外の入口を隠しても、それだけでデータへのアクセス権を設定したことにはなりません。機密情報を扱う場合は、ファイルや接続先データベースの権限も検討します。画面整理とセキュリティ対策は、別の確認項目として管理してください。
使いにくいAccess画面の整理と再設計が必要な場合は
まずは本記事の手順をコピー上で試し、設定と保存先を確認してください。既存VBAや複数の画面、外部データへの影響が分からない場合は、変更範囲を調査してから改修する方法が適しています。
Accessの教科書ではAccessの開発・保守・改修やSQL Serverとの連携を扱っています。ご相談時には、発生する画面、操作手順、エラー内容、利用環境を整理すると状況を共有しやすくなります。
完成後の確認と保守しやすい運用
フォームは、作成者が一度操作できただけで完成とは判断しません。利用者の作業に沿って、入力・検索・移動・終了を試します。必要なデータが正しい場所へ保存され、次に開いたときも同じ内容を確認できることを確かめます。
| 確認対象 | 試す操作 | 期待する結果 |
|---|---|---|
| 表示 | 長い氏名や電話番号を表示 | 文字が欠けずに読める |
| 入力 | 正常値と必須抜けを登録 | 正常値を保存し、不備は修正案内 |
| 移動 | Tab、Shift+Tabで入力 | 自然な順序で移動する |
| 検索 | 存在する値としない値で検索 | 対象を表示し、0件も判断できる |
| 親子 | 親を切り替え明細を追加 | 対応する子レコードだけを扱う |
| 終了 | 入力中と保存後に閉じる | 仕様どおり保存・取消される |

配布先の環境で確認する
Access Runtimeは作成済みアプリを実行するための環境で、フォームを設計・編集する環境ではありません。Runtime利用者へ配布する場合は、作成済み画面から必要な操作へ進める導線を用意し、配布先で起動・入力・帳票まで確認します。
また、デスクトップAccessのフォームは、そのままスマートフォンのブラウザーで使えるWebフォームにはなりません。外出先からの利用が必要なら、リモート利用、Power Apps、Web画面の開発などを要件に応じて比較します。画面を作り込む前に利用端末を決めておくと手戻りを減らせます。
変更前の状態を残す
保守を考えるなら、フォーム名、レコードソース、主なイベント、参照先を記録します。変更前の版を保管し、戻す必要がある場合の手順も決めておきます。複数利用者への配布では、画面の版と共有データの変更を混同しないことが大切です。
まずは単一テーブルから小さなフォームを作り、用途に応じて一覧・検索・サブフォームへ広げてください。作成方法を選ぶだけでなく、保存先、操作順序、確認手順をそろえると、利用者が使い続けられる画面になります。
よくある質問
テーブルはデータを保存する場所です。フォームは、そのデータを入力・表示したり操作を始めたりする画面です。同じテーブルに対して複数のフォームを作ることもできます。
できます。生成したフォームをレイアウトビューやデザインビューで開き、配置やプロパティを変更します。変更後は入力と保存も確認してください。
1件を詳しく入力するなら単票、複数件を見比べるなら帳票フォームが候補です。両方を用意し、一覧から詳細へ移動する構成もあります。
できます。結合クエリやサブフォームを使います。ただし、表示できることと更新できることは別です。親子関係と編集対象を明確にしてください。
Runtimeは実行用です。フォームの作成・設計変更には開発可能な製品版Accessを使い、作成済みアプリを配布します。
通常のAccessフォームはスマートフォンのWeb画面として直接動作しません。必要な業務と端末を整理し、別の利用方式を検討します。
使いにくいAccess画面の整理と再設計が必要な場合は
まずは本記事の手順をコピー上で試し、設定と保存先を確認してください。既存VBAや複数の画面、外部データへの影響が分からない場合は、変更範囲を調査してから改修する方法が適しています。
Accessの教科書ではAccessの開発・保守・改修やSQL Serverとの連携を扱っています。ご相談時には、発生する画面、操作手順、エラー内容、利用環境を整理すると状況を共有しやすくなります。
参考情報
[1] フォームの作成
https://support.microsoft.com/en-us/access/create-a-form-in-access
[2] フォームの概要
https://support.microsoft.com/en-us/access/introduction-to-forms
[3] 空白フォーム
https://support.microsoft.com/en-us/access/create-a-form-by-using-the-blank-form-tool
[4] コントロールの追加
https://support.microsoft.com/en-us/access/add-controls-to-customize-an-object
[5] クエリの編集可否
https://support.microsoft.com/en-us/access/edit-data-in-a-query
[6] サブフォームの親フィールド
https://learn.microsoft.com/en-us/office/vba/api/access.subform.linkmasterfields
[7] サブフォームの子フィールド
https://learn.microsoft.com/en-us/office/vba/api/access.subform.linkchildfields
[10] Accessアプリの配布とRuntime
https://support.microsoft.com/en-us/access/deploy-an-access-application