Accessフォームの作成方法と用途に合う画面の選び方

概要

この記事の結論
初めてAccessのフォームを作る場合は、元になるテーブルを選んで「作成」タブの「フォーム」を使うと基本画面を作れます。表示項目を選ぶならフォームウィザード、配置を細かく調整するならフォームデザインを選びます。作成方法と画面の用途は別なので、入力・一覧・検索・集計のどれに使うかを先に決めましょう。
Accessのフォームとは、テーブルやクエリのデータを入力・表示したり、業務操作の入口を提供したりするデータベースオブジェクトです。

この記事でわかること

  • 用途と表示形式を先に決める
  • 自動作成で動く最小画面を作る
  • ウィザードで必要項目を選ぶ
  • 親子データはサブフォームを検討する

この記事の主な内容

  1. 用途と表示形式を分けて考える
  2. 作成方法を選び最初のフォームを作る
  3. フォームウィザードの具体的な手順
  4. デザインビューで配置と連結を整える
  5. 親子データとメニュー画面を組み立てる
  6. 完成後の確認と保守しやすい運用
  7. よくある質問

想定読了時間:約14分~16分


用途と表示形式を分けて考える

フォームを作るときは、先に利用者の作業を決めます。「何を入力するか」「どの一覧を探すか」「どの結果を確認するか」が決まれば、必要な項目とボタンを絞れます。画面にすべての項目を並べることが、使いやすいフォームとは限りません。

フォームの用途は4つに整理できる

入力用、検索用、集計用、メニュー用は、画面を何のために使うかという分類です。Accessの設定画面で、この4種類を一律に選択するわけではありません。テーブルやクエリとの連結、コントロール、イベントを組み合わせて用途を実現します。

用途利用者の操作設計の中心
入力受付や受注を登録・修正保存先と入力ルール
検索条件を指定し対象を探す検索条件と結果の一覧
集計期間別の実績を確認集計クエリと条件
メニュー目的の画面や帳票を開く迷わない操作導線
フォームの用途を決めるについて、入力:1件を登録、検索:必要な情報を探す、集計:結果を確認、メニュー:操作の入口を説明した図

表示形式は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]

ビュー主に行うこと注意点
フォームビュー利用者として入力・検索する設計変更の画面ではない
レイアウトビュー表示データを見ながら幅などを調整利用できる変更操作には範囲がある
デザインビュー部品、セクション、プロパティを編集実際のデータ表示とは別に確認
3つのビューの役割について、フォームビュー:操作する、レイアウトビュー:表示を見て調整、デザインビュー:構造を編集を説明した図

空のフォームから作る場合の連結順序

[フォームデザイン]を使う場合は、フォーム全体を選択し、F4でプロパティシートを開きます。レコードソースへT_顧客を設定した後、[既存のフィールドを追加]から顧客名などを配置します。部品のコントロールソースも対象フィールドになっているか確認します。[4]

部品がまとまって移動する場合は、コントロールレイアウトの影響を確認します。独立して配置する必要がある場合は、対象を選びレイアウト解除を検討します。ただし、整列が崩れやすくなるため、複製したフォームで試し、入力欄の幅とラベルの位置をそろえます。

1画面の情報量を用途に合わせる

単票では氏名や住所など関連項目をまとまりとして配置します。帳票フォームでは、1行の高さと一覧に必要な列数を絞ります。長い備考を一覧の全行へ出すより、選択した1件の詳細画面で読む構成の方が操作しやすい場合があります。

単票と一覧の使い分けについて、単票:1件を大きく表示、帳票フォーム:複数件を縦に表示、データシート:表で確認を説明した図

画面サイズは作成者のPCだけで決めないようにします。利用者の解像度や表示倍率で開き、ラベルの欠け、横スクロール、ボタンが画面外へ出る問題を確認します。色だけで必須やエラーを伝えず、文字でも説明すると利用者が判断しやすくなります。


親子データとメニュー画面を組み立てる

受注1件に複数の明細があるようなデータは、親フォームとサブフォームに分ける構成が候補です。親には受注日や顧客、子には商品や数量を表示します。1件の受注と、その受注に属する明細だけが同時に見えることが重要です。

サブフォームのリンク項目を確認する

親のT_受注には受注IDを主キーとして持たせ、子のT_受注明細にも対応する受注IDを用意します。一般的なオートナンバーの親キーに対して、子側は数値型の長整数型など互換性のある型にします。子側の受注IDは、明細ごとに自動採番する項目ではありません。

親フォームにサブフォームコントロールを置き、そのプロパティで[リンク親フィールド]と[リンク子フィールド]を確認します。今回の例では両方とも受注IDです。フォーム名と、フォームを入れるサブフォームコントロールの名前は別なので、選択対象も確かめてください。[6][7]

親子データとサブフォームについて、親フォーム:受注1件、子フォーム:その受注明細、受注IDで対応付けを説明した図

受注Aから受注Bへ移動し、表示される明細が切り替わるかを試します。新しい明細を追加した場合は、子テーブルの受注IDが正しい親を指しているか確認します。リンクが未設定のまま全明細が表示される状態では、利用者が別受注の明細を編集する危険があります。

集計用の画面は結果を見る役割を明確にする

月別集計などのクエリ結果は、通常の入力テーブルと同じように更新できるとは限りません。集計画面から値を直す場合は、元データの詳細画面へ移動する導線を用意すると分かりやすくなります。集計結果を直接編集できる前提で設計しないでください。[5]

メニューは操作の入口として使う

フォームが増えたら、「新規入力」「一覧・検索」「集計・帳票」のように、利用者の目的でボタンをまとめます。名前の似たフォームをナビゲーションウィンドウから選ぶ運用より、目的の画面へ進みやすくなります。

メニューから迷わず操作について、新規入力へ、一覧と検索へ、集計と帳票へを説明した図

メニュー以外の入口を隠しても、それだけでデータへのアクセス権を設定したことにはなりません。機密情報を扱う場合は、ファイルや接続先データベースの権限も検討します。画面整理とセキュリティ対策は、別の確認項目として管理してください。

使いにくいAccess画面の整理と再設計が必要な場合は

まずは本記事の手順をコピー上で試し、設定と保存先を確認してください。既存VBAや複数の画面、外部データへの影響が分からない場合は、変更範囲を調査してから改修する方法が適しています。

Accessの教科書ではAccessの開発・保守・改修やSQL Serverとの連携を扱っています。ご相談時には、発生する画面、操作手順、エラー内容、利用環境を整理すると状況を共有しやすくなります。


完成後の確認と保守しやすい運用

フォームは、作成者が一度操作できただけで完成とは判断しません。利用者の作業に沿って、入力・検索・移動・終了を試します。必要なデータが正しい場所へ保存され、次に開いたときも同じ内容を確認できることを確かめます。

確認対象試す操作期待する結果
表示長い氏名や電話番号を表示文字が欠けずに読める
入力正常値と必須抜けを登録正常値を保存し、不備は修正案内
移動Tab、Shift+Tabで入力自然な順序で移動する
検索存在する値としない値で検索対象を表示し、0件も判断できる
親子親を切り替え明細を追加対応する子レコードだけを扱う
終了入力中と保存後に閉じる仕様どおり保存・取消される
完成後の確認項目について、表示と文字サイズ、保存と検索、Tab移動と終了、配布先で動作確認を説明した図

配布先の環境で確認する

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

関連記事

Accessのフォームとは?種類・作り方・入力画面を解説

Accessのデータ入力用フォームの作成方法と保存の基本

Accessフォームにテキストボックスを配置する方法と連結の違い

TOP