AccScan
用語・入門

Accessのフォームとレポートとは|役割と使い分け入門

Accessのフォームはデータ入力・表示のUI、レポートは印刷・帳票向けの整形出力です。4種類のフォーム・レポートのセクション構造・グループ集計の仕組み・テーブルとの関係を入門者向けに解説します。

まずは、自社のAccessが「解析できるか」を無料で確認できます。

約2分・ファイル送信不要・発注義務なし

結論:フォームは「入力・閲覧の画面」、レポートは「印刷・出力の帳票」

Accessにはテーブル・クエリ・フォーム・レポートの4つの主要オブジェクトがあり、そのうちフォームとレポートは「人が見る側」の部品です。テーブルがデータそのものを持ち、クエリがデータを取り出す仕組みだとすれば、フォームはデータを画面で入力・確認するためのUI(ユーザーインターフェース)、レポートはデータを紙や画面に整形して出力するための帳票です。

Microsoftの公式ドキュメントは、フォームの役割を「1行ずつデータを見やすく入力・変更する手段」と説明しています(Microsoft サポート: Accessデータベースの構造)。レポートについては「データを素早く分析したり、印刷やその他の形式で特定のレイアウトで提示したりする手段」としています。どちらも同じデータを扱いますが、目的がはっきり違います。

フォームとレポートの違いを比較表で整理する

両者の性格の違いを一覧にまとめます。「似ているように見えて何が違うのか」と聞かれると意外と説明しにくい部分も、表にすると整理しやすいです。

観点フォームレポート
主な目的データの入力・表示・編集データの整形・印刷・出力
データの操作更新可能なデータソースに連結していれば編集・追加・削除ができる読み取り専用(直接変更はしない)
使う場面日常の入力作業、検索画面、管理画面月次集計、請求書、納品書、一覧表の印刷
グループ集計計算コントロールやクエリで集計は可能。多段グループ帳票は作りにくいグループヘッダー・フッターで多段集計をまとめやすい
印刷適性補助的(印刷できるが帳票向きではない)印刷前提の設計(改ページ・ページ番号など)
データソーステーブル・クエリテーブル・クエリ

連結フォームや連結レポートのレコードソースには、テーブル・保存クエリ・SQL文を指定できます。同じデータを、入力作業には「フォーム」で、月次報告には「レポート」でと、目的ごとに使い分けます。

フォームの種類と基本的な使い方

Accessのフォームには表示形式がいくつかあります。目的によって使い分けるもので、どれが「正しい」というわけではありません。

  • 単票フォーム(Single Form):1件のレコードを1画面に表示します。顧客情報の詳細入力など、1件ずつていねいに確認したい場面に向きます。Accessのフォームビューのデフォルト表示です。
  • 帳票フォーム(Continuous Form):複数のレコードを縦に並べて表示します。一覧を確認しながら簡単な編集をしたいときに便利です。Excelの表に近い見た目ながら、フォームとしてのコントロールが使えます。
  • データシートビュー:Excel風の格子状表示で、列幅の調整や並べ替えが手軽にできます。データの確認・一覧閲覧に向きますが、レイアウトの自由度は低いです。
  • 分割フォーム(Split Form):フォームビューとデータシートビューを同時に表示します。配置方向はプロパティで上・下・左・右を選べます。一覧から選んで詳細を確認・編集する操作がしやすい形式です。

さらに、フォームの中にフォームを埋め込む「サブフォーム」という構成もよく使われます。たとえば「受注ヘッダー(親フォーム)」に「受注明細の一覧(サブフォーム)」を組み合わせると、1つの受注に複数の商品行を紐付けて表示・入力できます。これは1対多のリレーションシップを持つテーブル同士を扱う場面で標準的な設計です。

フォームに置けるコントロール(部品)には、テキストボックス・コンボボックス・チェックボックス・ボタンなど多種あります。ボタンにマクロやVBAを紐付ければ、「保存して別の画面へ進む」「条件を指定してレポートを開く」といった操作を1クリックで実行させることもできます。

管理台帳をAccessで作る際のフォーム設計の考え方についてはAccessで管理台帳を作るもあわせて参照してください。

レポートの構造と集計・グループ化の仕組み

レポートはフォームとよく似た構造を持ちますが、「印刷・出力のために設計されたオブジェクト」という点が根本的に異なります。公式ドキュメントによると、Accessのレポートには最大7種類のセクションがあります(Microsoft サポート: Accessのレポートの概要)。

  • レポートヘッダー:レポートの先頭にだけ表示(タイトルや会社名など)
  • ページヘッダー:各ページの先頭に繰り返し表示(列見出しなど)
  • グループヘッダー:グループが変わるたびに表示
  • 詳細セクション:各レコードのデータを繰り返し表示する本体
  • グループフッター:グループごとの小計を表示するのに使う
  • ページフッター:各ページの末尾に繰り返し表示(ページ番号など)
  • レポートフッター:レポートの最後にだけ表示(合計など)

グループヘッダー・グループフッターの組み合わせが、Accessのレポートで集計をする核心です。たとえば「担当者ごとに受注件数と合計金額を小計して、最後にレポート全体の合計を出す」といった帳票は、グループフッターとレポートフッターに集計フィールドを置くことで実現できます。フォームではこうした多段集計は作りにくく、レポートの得意分野です。

レポートのもう一つの強みは「条件付き書式」です。特定の数値が基準値を超えたときにセルを赤くする、納期が迫ったレコードを太字にする、といった視覚的なハイライトをNoコードで設定できます。

レポートはフォームと違い、直接データを編集する操作はできません。データを変更したい場合はフォームを通じて行い、結果をレポートで出力するという役割分担が自然な流れです。

テーブル・クエリとフォーム・レポートの関係

データを表示する「連結フォーム」「連結レポート」では、背後にテーブルまたはクエリをデータソースとして指定します。メニュー画面のようにデータを表示しない「非連結フォーム」も作れますが、業務データを扱う場合はほぼ必ずデータソースを持ちます。

基本的な流れは「テーブルにデータをためる→クエリで条件絞り込みや計算をする→フォームで入力・確認、レポートで出力」です。フォームやレポートをテーブルに直接つなぐこともできますが、複数テーブルのデータを組み合わせたい場合や集計を加えたい場合はクエリを経由させます。

たとえば「担当者別・月別の売上集計レポート」を作るなら、受注テーブルと担当者テーブルを結合して月ごとに集計するクエリをまず作り、そのクエリをレポートのデータソースに設定します。フォームの場合も同様で、入力補助としてコンボボックスにリスト表示させるデータはクエリから引っ張るのが一般的です。

テーブル設計の基礎(正規化・リレーションシップ)についてはAccessのテーブル設計と正規化で整理しています。そちらも参照すると、なぜフォーム・レポートとクエリの組み合わせが必要なのかが分かりやすくなります。

凝ったフォームの保守リスク

当社のAccess解析・移行支援の現場では、VBAを多用したフォームが属人化しているケースをよく確認します。単純な入力画面ならさほど問題にならないのですが、VBAのイベントプロシージャ(ボタンクリック時の処理、入力チェック、自動計算など)が重なっていくと、作った本人しか把握できない複雑さになりやすいです。

特に注意が必要なのは、複数のフォームが互いを呼び出し合っている構成です。「このボタンを押すとあのフォームが開き、そこで値を入力して閉じると元のフォームの計算が動く」という連鎖が積み重なると、どこを直せばどこに影響するかが追えなくなります。

当社の支援事例では、フォームの背後に書かれたVBAのロジックが担当者の退職後に誰も読めない状態になっているケースが少なくありません。マクロとVBAの使い分けの基礎についてはAccessのマクロとVBAの違いで整理しています。属人化の問題について詳しくはAccess属人化の危険度と脱・属人化の進め方をご覧ください。

社内のAccessのフォームやレポートが複雑になっていて、中身を把握できている人が限られている場合は、移行前の現状把握が先決です。無料の解析可否チェックで、解析・移行の見通しだけでも確認しておくことをお勧めします。

よくある質問

Q. フォームで印刷はできますか。

できます。フォームもそのまま印刷できますが、ページをまたいだ集計や改ページ制御、ヘッダー・フッターの繰り返しといった印刷向けの制御はレポートの方が格段にやりやすいです。請求書・納品書・一覧表など定型帳票はレポートで作るのが現実的です。フォームの印刷は「確認のために今の画面内容を出したい」程度の用途に向きます。

Q. レポートはデータの編集に使えますか。

基本的にはできません。レポートはデータを表示・出力するための読み取り専用のオブジェクトです。データを更新したい場合はフォームを使い、その結果をレポートで出力するという流れが標準です。

Q. サブフォームとサブレポートは何が違いますか。

サブフォームはフォームの中に埋め込むフォームで、主にデータの入力・編集に使います。サブレポートはレポートの中に埋め込むレポートで、別のデータセットをまとめて印刷したい場合に使います。たとえば「得意先別の受注一覧レポート(サブレポート)を、全体まとめレポートに組み込む」といった用途です。どちらも「親子」の構成を作る点は同じですが、目的がデータ入力か出力かで使い分けます。

Q. フォームとレポートはどちらから覚えるべきですか。

新規に入力業務を構築する場合は、フォームから先に学ぶのが分かりやすいです。フォームで入力した結果がテーブルにたまり、それをレポートで集計・出力するという流れが自然に身につきます。もっともデータはテーブルへの直接入力やインポートで蓄積することもできるので、既存データがある場合はレポートから試すこともできます。Accessの全体像を先に把握したい場合はMicrosoft Accessとは?から読むとスムーズです。

触れないAccessが「診断できるか」だけ、確かめませんか。

顧客データは送信不要。発注の義務もありません。

約2分・ファイル送信不要・発注義務なし/説明はオンライン・売り込みはしません