「Accessのフォームって何から始めればいいの?」と感じていませんか。フォームはAccessにおいてテーブルのデータを視覚的に入力・編集・検索するためのインターフェースです。テーブルを直接操作する方法と比べ、フォームを使うことで入力ミスの防止・入力速度の向上・操作性の改善が図れます。本記事ではフォームの基本概念からコントロール配置・入力規則・マクロ連携・外観カスタマイズまで2026年最新版で体系的に解説します。MOS Access 365試験のフォーム関連出題パターンと頻出ミスへの対策も詳しく説明するので、試験対策にも役立てください。
Accessのフォームとは何か(基本概念と3つのメリット)
フォームが解決する「データ入力の手間」問題
テーブルを直接開いてデータを入力する方法はシンプルですが、フィールド数が多くなるほど横スクロールが増えて入力ミスが起きやすくなります。また必須フィールドの見落としや誤ったデータ型の入力を防ぐ仕組みが働きにくい点も課題です。フォームはこれらの問題をGUIで解決するAccessの機能です。フォームを作成すると入力担当者はデータベース構造を意識せず、設計されたレイアウト上で直感的に入力作業を進められます。
フォームを使う主なメリットは3つあります。第一に、入力規則と定型入力を設定することで不正なデータが保存されるリスクを大幅に下げられること。第二に、コンボボックスやリストボックスを使ってあらかじめ用意した選択肢から入力できるため入力効率が上がること。第三に、コマンドボタンとマクロを組み合わせることで「登録」「削除」「検索」「レポート印刷」などの処理を担当者が1クリックで実行できるようになることです。規模が大きくなるほどフォーム設計の質がデータベースの使い勝手を左右します。
フォームの種類(単票・帳票・分割フォーム)
Accessのフォームには主に3種類あります。①単票フォームは1レコードを1画面に表示するレイアウトです。住所録・受注伝票・顧客詳細画面など1件ずつ確認・編集する用途に向いています。②帳票フォームは複数のレコードを縦に並べて一覧表示するレイアウトです。スプレッドシートに似た見た目で、一覧の中から特定のレコードを選択して操作する場面に適しています。③分割フォームは単票と帳票を上下に並べた複合レイアウトで、一覧で選択したレコードを下部の単票で詳細編集できます。
フォームの用途別の使い分けを整理します。
| フォーム種類 | 表示レコード数 | 主な用途 | MOS出題頻度 |
|---|---|---|---|
| 単票フォーム | 1件 | 顧客登録・注文詳細・社員情報 | ★★★(頻出) |
| 帳票フォーム | 複数件 | 商品一覧・受注一覧・在庫確認 | ★★(中程度) |
| 分割フォーム | 一覧+1件 | 一覧選択→詳細編集の複合操作 | ★★(中程度) |
| サブフォーム | 親子関係 | 受注ヘッダー+明細行の一括管理 | ★★(中程度) |
フォームビューとデザインビューの違い
フォームには複数の表示モードがあります。「フォームビュー」はエンドユーザーが実際に使う入力・閲覧モードです。「デザインビュー」はフォームのレイアウトやプロパティを設定・変更するモードで、コントロールの追加や配置調整はここで行います。「レイアウトビュー」はデータを表示したままレイアウトを調整できる中間的なモードです。デザインビューはより細かい設定が可能な反面、コントロールの正確なサイズ・位置調整はレイアウトビューが直感的です。
モード切り替えは「ホームタブ」→「表示」ボタン、またはナビゲーションペインで右クリック→「デザインビューで開く」から行います。MOS試験ではデザインビューとフォームビューを適切に切り替えながら操作するタスクが出題されます。どのビューで何の操作ができるかを事前に整理しておくことが時間短縮につながります。
フォームを新規作成する(基本手順)
ウィザードを使ったフォーム作成
フォームを最も素早く作成する方法はフォームウィザードの利用です。手順は以下の通りです。①ナビゲーションペインで元になるテーブルまたはクエリを選択する。②「作成」タブ→「フォームウィザード」をクリックする。③フォームに表示するフィールドを選択して「次へ」を押す。④レイアウトを「単票」「帳票」「データシート」「両端揃え」から選択する。⑤フォームに名前をつけて「完了」を押す。ウィザードでは自動的に各フィールドのラベルとテキストボックスが配置されます。
ウィザードが生成したフォームはその後デザインビューで自由にカスタマイズできます。フィールドの順序を変えたい・不要なラベルを削除したい・色やフォントを変えたいなどの要望はデザインビューで対応します。MOS試験ではウィザードで基礎フォームを作成してから追加設定を行うタスクが定番パターンです。ウィザードの手順を素早く実行できるよう繰り返し練習してください。
デザインビューでゼロから作る手順
フォームをゼロから作成する場合は「作成」タブ→「フォームデザイン」をクリックします。空のデザインビューが開くので、「フォームデザインツール」の「デザイン」タブから操作します。まず「プロパティシート」を開き(F4キーまたはツールバーのアイコン)、フォームのレコードソース(元データ)にテーブルまたはクエリを指定します。レコードソースを設定すると「フィールドリスト」ウィンドウに利用可能なフィールドが表示されます。
フィールドをデザインビューにドラッグするとラベルとテキストボックスが自動で配置されます。コントロールを追加したい場合は「デザイン」タブのコントロールギャラリーからドラッグして配置します。コントロールの位置・サイズは「配置」タブの「サイズ/スペース」グループで均等整列できます。デザインビューによる作成はウィザードより手間がかかりますが、初期レイアウトを自由に設計できる点でプロ向けの方法です。
コントロールの種類と配置方法
フォームで使えるコントロールの種類と主な用途を整理します。
| コントロール名 | 主な用途 | バインド可否 |
|---|---|---|
| テキストボックス | 文字・数値・日付の入力・表示 | バインド(フィールドと連結) |
| ラベル | 見出し・説明文の表示 | 非バインド(表示のみ) |
| コンボボックス | ドロップダウン選択入力 | バインド |
| リストボックス | リストから複数選択 | バインド |
| チェックボックス | Yes/No型フィールドの入力 | バインド |
| コマンドボタン | マクロ・VBAの実行 | 非バインド(アクション実行) |
| サブフォームコントロール | 別フォームの埋め込み表示 | バインド(リレーション設定) |
コントロールをクリックして選択し、Deleteキーで削除・矢印キーで微調整できます。複数コントロールを選択するにはShiftキーを押しながらクリックするか、ドラッグで選択範囲を指定します。「配置」タブの「左揃え」「上揃え」ボタンを使うとコントロールの整列が正確で見栄えのよいフォームになります。
入力規則と書式設定で入力ミスを防ぐ
入力規則(Validation Rule)の設定方法
入力規則はコントロールまたはテーブルフィールドに設定する条件式です。条件を満たさないデータが入力されると指定したエラーメッセージが表示され保存を拒否します。設定はデザインビューでコントロールを選択→F4(プロパティシート)→「データ」タブ→「入力規則」欄に条件式を記述します。よく使う入力規則の例を示します。
| 入力規則の例 | 意味 |
|---|---|
| >=0 | 0以上の数値のみ許可 |
| Between 1 And 100 | 1~100の範囲内のみ許可 |
| Like “〒###-####” | 郵便番号形式のみ許可(#=数字1桁) |
| >=Date() | 今日以降の日付のみ許可 |
| In (“男”,”女”,”その他”) | 指定した値のいずれかのみ許可 |
入力規則に違反したときのメッセージは「入力規則テキスト」プロパティに設定します。「0以上の数値を入力してください」のようにわかりやすいメッセージを指定すると利用者が操作を理解しやすくなります。テーブルとフォームの両方に入力規則を設定している場合、フォーム側が先にチェックされます。入力規則はフォームを通さないデータ直接編集にも効果を発揮するため、テーブル側にも設定することを推奨します。
定型入力(Input Mask)の設定
定型入力はあらかじめ決まった形式のデータ(電話番号・郵便番号・日付)を入力しやすくする機能です。「プロパティシート」→「データ」タブ→「定型入力」欄にパターン文字列を記述するか、「定型入力ウィザード」を使います。代表的な定型入力パターンを示します。
「000\-0000;0;_」は郵便番号形式(3桁-4桁)です。日本の電話番号なら「00\-0000\-0000;0;_」のように応用します。定型入力パターンの記号で「0」は必須の数字1桁、「9」は任意の数字1桁、「L」は必須のアルファベット1文字、「?」は任意のアルファベット1文字を意味します。「\-」はそのままハイフンを表示するためのエスケープです。
定型入力を設定すると入力フィールドに入力ガイドが表示されます。例えば郵便番号なら「___-____」という形式が最初から表示され、数字だけを入力すれば自動的にハイフンが挿入されます。手入力の負担が減り、入力データの形式揺れを防ぐ効果があります。MOS試験の「定型入力を設定する」タスクは定型入力ウィザードを使う手順で出題されることが多いため、ウィザードの操作手順を事前に練習してください。
必須フィールドと空白禁止の設定
データの完全性を保つために必須フィールドの設定は重要です。テーブルのデザインビューでフィールドを選択→「フィールドのプロパティ」→「値要求」を「はい」に変更すると、そのフィールドを空白のまま保存しようとするとエラーが表示されます。フォーム側では「コントロール」のプロパティシートで「値要求」を設定できますが、テーブル側の設定がデータベース全体に効く防御線として機能します。
「空文字列許可」プロパティも確認が必要です。「値要求=はい」に設定していても「空文字列許可=はい」のままだと、スペース1文字や空の文字列(“”)が入力できてしまいます。完全に空白を禁止するには「値要求=はい」かつ「空文字列許可=いいえ」の2つを同時に設定してください。数値型・日付型フィールドは空文字列の概念がないため「値要求=はい」のみで十分です。
フォームとマクロの連携(基本操作)
マクロビルダーでボタンにアクションを割り当てる
コマンドボタンにマクロを割り当てるとクリック1回でデータの登録・削除・フォーム遷移・レポート印刷などの処理が実行できます。手順は①デザインビューでコマンドボタンをダブルクリックしてプロパティシートを開く→②「イベント」タブ→「クリック時」欄の右端にある「…」ボタンをクリックする→③「マクロビルダー」を選択する→④マクロビルダー上でアクションを追加する→⑤保存してフォームビューで動作確認する、です。
マクロビルダーはVisual Basicを使わなくてもアクションをドロップダウンから選ぶだけで自動処理を組める機能です。アクションには「フォームを開く(OpenForm)」「レコードの検索(FindRecord)」「レコードの移動(GoToRecord)」「メッセージの表示(MessageBox)」「フォームを閉じる(CloseWindow)」などが用意されています。MOS試験ではコマンドウィザードを使ってボタンにアクションを自動設定する方法も出題されます。
OpenForm・FindRecord・GoToRecordの使い方
よく使うマクロアクション3つの使い方を説明します。
OpenFormは別のフォームを開くアクションです。引数に「フォーム名」「ビュー」「条件式(Where条件)」「データモード(追加/編集/読み取り専用)」「ウィンドウモード」を設定します。例えば顧客一覧フォームのボタンをクリックすると顧客詳細フォームが開き、該当レコードが表示される動作はOpenFormのWhere条件に「[顧客ID]=[Forms]![顧客一覧]![顧客ID]」のように現在表示中のIDを参照する式を設定することで実現します。
GoToRecordは現在開いているフォームのレコードを移動するアクションです。「最初のレコード」「最後のレコード」「次のレコード」「前のレコード」「新しいレコード(空白行)」の5種類から選べます。「新しいレコード」を選ぶと空のレコードに移動するため「新規登録ボタン」の実装によく使われます。FindRecordは条件に合う最初のレコードを検索して移動するアクションで、「検索ボタン」の実装に使います。テキストボックスに入力した値でレコードを検索する「=Forms![フォーム名]![テキストボックス名]」という参照式が典型的なパターンです。
On Click/On Load イベントへの設定方法
マクロを設定できるイベントはOn Click(クリック時)だけではありません。フォームとコントロールにはさまざまなイベントがあります。フォームの「開く時(On Open)」「読み込み時(On Load)」「閉じる時(On Close)」、テキストボックスの「変更時(On Change)」「フォーカス取得時(On Got Focus)」「フォーカス喪失時(On Lost Focus)」などです。
実務でよく使うイベント設定の例を紹介します。On Load(フォーム読み込み時)に「今日の日付をデフォルト値として日付フィールドに設定する」処理を組み込むと、毎回手動で日付を入力する手間を省けます。On Change(テキスト変更時)に入力値をリアルタイムで検証する処理を設定すると、フォームを送信する前にエラーを検知できます。これらのイベント処理はマクロビルダーまたはVBAで実装します。MOS試験ではOn Loadを使った初期化処理の設定タスクが出題されることがあります。
フォームの外観をカスタマイズする
ヘッダー・フッター・詳細セクションの使い方
デザインビューのフォームは「フォームヘッダー」「詳細」「フォームフッター」の3セクションで構成されます。詳細セクションは実際のデータフィールドが配置される主要領域です。フォームヘッダーはフォームの最上部に固定表示されるエリアで、タイトルラベル・検索ボックス・操作ボタンを配置するのに適しています。フォームフッターは最下部に固定表示されるエリアで、合計値の表示やナビゲーションボタンの配置によく使います。
ヘッダーとフッターの表示/非表示は「デザイン」タブ→「フォームヘッダー/フッター」ボタンで切り替えます。ヘッダー・フッターの高さはデザインビューでセクション境界をドラッグして調整します。ラベルや画像(会社ロゴ等)をヘッダーに配置するとフォームの見た目がプロフェッショナルになります。報告書・印刷フォームでは会社名や作成日をフッターに入れるパターンが一般的です。
タブオーダーの変更で入力順序を最適化する
タブオーダーはTabキーを押したときにフォーカスが移動する順序です。コントロールを配置した順番や位置が必ずしもタブ移動順に一致しないため、入力作業の流れに合わせて調整が必要です。設定方法は「デザイン」タブ→「タブオーダー」ボタンをクリックして「タブオーダー」ダイアログを開き、コントロール名の行をドラッグして並べ替えます。「自動オーダー」ボタンをクリックすると左上から右下の順に自動設定されます。
タブオーダー設定のポイントは業務フローに合わせた順序にすることです。例えば「氏名→フリガナ→生年月日→住所→電話番号→メールアドレス→担当者」という入力順序が業務上の流れであれば、その順でタブオーダーを設定します。また入力不要なラベルやコマンドボタンはタブストップを「いいえ」に設定してタブ移動対象から外すと、入力担当者がTabキーで余分なコントロールを踏み越えなくて済みます。MOS試験のタブオーダー設定タスクは頻出なので確実に操作をマスターしてください。
条件付き書式でデータを視覚的に強調する
フォームの条件付き書式を使うと特定の条件を満たすデータのコントロールを自動的に色変更・太字化・非表示化できます。設定方法はデザインビューでテキストボックスを選択→「書式」タブ→「条件付き書式」→「新しいルール」をクリックします。条件は「フィールドの値が指定した範囲内」または「式」で記述します。
実務でよく使う条件付き書式の例として「在庫数が10以下のとき背景を赤くする」「納期が今日以前(過去)のとき文字を太字赤にする」「売上目標達成のとき背景を緑にする」などがあります。条件付き書式はフォームとレポートの両方に設定できます。複数のルールを設定した場合は上位のルールが優先して適用されます。MOS試験では「テキストボックスに条件付き書式を設定する」タスクが出題されることがあります。
MOS Access試験でフォームが出題される具体的な場面
MOS Access 365試験のフォーム関連出題パターン
MOS Access 365試験においてフォーム関連の問題は全体問題の25~30%を占める主要分野です。代表的な出題パターンを紹介します。
| 出題パターン | 操作内容 | 難易度 |
|---|---|---|
| フォームウィザードで作成 | テーブル/クエリを指定してウィザード起動・フィールド選択・レイアウト選択 | 易 |
| コントロールのプロパティ設定 | キャプション・既定値・入力規則・定型入力の設定 | 中 |
| タブオーダーの変更 | タブオーダーダイアログで順序を入れ替え | 中 |
| コマンドボタンの追加 | ウィザードまたはマクロビルダーで「フォームを開く」等を設定 | 中 |
| 条件付き書式の設定 | テキストボックスに条件と書式ルールを追加 | 中 |
| サブフォームの挿入 | サブフォームウィザードで親子リレーションを設定 | 難 |
MOS試験のタスクは「○○フォームを開いて▲▲を設定する」という形式で与えられます。問題文に「タブオーダー」「入力規則」「定型入力」「条件付き書式」などのキーワードが含まれていたら即座に対応するプロパティシートや設定ダイアログに向かえるよう、操作の入り口を記憶しておくことが合格への近道です。
試験でよくある操作ミスと対策
MOS Access試験のフォーム問題でよく見られる操作ミスを整理します。
最も多いのはビューの切り替え忘れです。フォームビューの状態ではプロパティシートが開けないため「設定できない」と感じる受験者がいます。解決策はタスクを受けたらまずデザインビューに切り替えることを習慣化することです。右クリック→「デザインビュー」か「ホームタブ」→「表示」ボタンのドロップダウンから切り替えてください。
次に多いのがコントロールの選択ミスです。ラベルとテキストボックスは隣接しているため誤ってラベルを選択してしまい、データ用プロパティ(入力規則・定型入力など)が見当たらない状態になります。ステータスバーに「ラベル」と表示されているか「テキストボックス」と表示されているかを確認する習慣をつけてください。プロパティシートの上部にもコントロール名が表示されます。
入力規則の式の書き方ミスも要注意です。AccessのVBA式は英語キーワードを使うため「Between 1 And 100」「Like “〒###-####”」のような英語キーワードのスペルを事前に確認しておきましょう。日本語でAccessを使っていても入力規則の式は英語記法が基本です。
フォーム試験問題の練習ステップ
MOS Access試験のフォーム問題を効率よく練習するステップを紹介します。①まずMicrosoftの公式テキストでフォームの基本操作(ウィザード・デザインビュー・プロパティシート)を一通り読む。②練習用データベースを自分で作成して実際に各コントロールを配置してみる。③MOS模擬問題集のフォーム問題を時間を計りながら解く。④ミスした問題を記録してデザインビュー操作のどのステップでつまずいたかを分析する。⑤試験前日に操作フローをノートにまとめる。
MOS試験の合格ラインは1000点満点中700点程度です(試験回によって変動)。フォーム問題25~30%を確実に得点するためには最低でも各コントロールの基本設定とウィザードの手順を迷わずこなせるレベルが必要です。試験本番では時間のかかる問題に固執せず、確実に解ける問題から順番に片付けてください。
よくある質問(FAQ)
Q1. フォームとテーブルの直接入力、どちらを使うべきですか?
業務での入力には原則フォームを使うことを推奨します。テーブルの直接入力では入力規則や定型入力が機能しないケースがあるほか、全フィールドが横並びで表示されるため誤入力リスクが高いです。フォームを使うことで入力項目をわかりやすく整理し、必須チェックや形式チェックを確実に機能させられます。テーブルの直接操作はデータベース管理者による保守作業や緊急時の修正に限定するのが適切です。
Q2. フォームで入力したデータはどこに保存されますか?
フォームのコントロールがテーブルのフィールドにバインド(連結)されている場合、入力データはそのテーブルに保存されます。フォームはテーブルデータの「ビュー(表示窓)」であり、フォーム自体にデータは保存されません。バインドされていない非連結コントロール(入力補助用のテキストボックスなど)の値はフォームを閉じると消えます。保存タイミングはレコードから離れる(別のレコードに移動する・フォームを閉じる)ときです。「保存」ボタンを設置していない場合でも自動保存されます。
Q3. コントロールが追加できない場合の対処法は?
コントロールを追加できない場合のチェックポイントは3つです。①デザインビューに切り替わっているか確認する。フォームビューやレイアウトビューではコントロールの追加ができません。②「デザイン」タブの「コントロールの選択」が有効になっているか確認する。③フォームがロックされていないか確認する。マクロで「データモード=読み取り専用」に設定されている場合はデータ入力ができません。それでも解決しない場合はファイルを一度閉じて再度開いてください。
Q4. フォームを印刷する際の注意点は?
フォームは印刷に特化して設計されていないため、通常はレポートを使って印刷します。ただしフォームを印刷したい場合は「ファイル」→「印刷」から印刷プレビューで確認してから印刷してください。印刷レイアウトが崩れる場合はフォームのセクション幅と用紙サイズを合わせる必要があります。「印刷時拡張」プロパティを利用するとコントロールの内容量に応じて高さが自動調整されます。反復するデータの一覧印刷にはAccessのレポート機能を使う方が品質の高い出力が得られます。
Q5. サブフォームはどう使いますか?
サブフォームは親フォームの中に別のフォームを埋め込む機能です。典型的な使用例は受注管理データベースの「受注ヘッダーフォーム(親)」と「受注明細フォーム(子)」の組み合わせです。1つの受注に複数の明細行が紐付く「1対多」のリレーションシップを持つデータを1画面で入力・確認できます。設定はデザインビューで「サブフォームコントロール」を配置し、サブフォームウィザードで使用するフォーム・リンクフィールドを指定します。親と子のリレーションシップが正しく設定されていることが前提条件です。
Q6. フォームが開かない・エラーになる場合の対処法は?
フォームが開けない場合の原因と対処法を説明します。「レコードソースが見つかりません」エラーはフォームのレコードソースに指定したテーブルまたはクエリが削除・名前変更されていることが原因です。デザインビューでレコードソースを再設定してください。「参照整合性エラー」は関連テーブルのデータとの整合性が崩れている場合です。テーブルの内容を確認してリレーションシップの設定を見直してください。また.accdbファイルが破損している場合は「データベースツール」→「最適化/修復」を実行することで回復できることがあります。
