Access超入門
フォームとレポート
作成日:2015/11/17

ページ内目次

  1. 概要
  2. フォームのビュー
  3. フォームの新規作成
    1. 新規作成の具体例(表形式フォーム)
    2. 新規作成の具体例(単票形式フォーム)
  4. フォームの修正

概要

フォームやレポートははAccessにおける オブジェクト のひとつです。
一般的な会話では「オブジェクト」を省略して、 単に「フォーム」とか「レポート」と呼ぶことも多いので、 この講座でも単にフォームあるいはレポートと呼びます。

フォームやレポートは テーブル 内のデータを表示するためのものです。
フォームはモニターに表示することを目的としたものであり、 レポートは印刷することを目的としたものです。

フォームとレポートの開発手順はほとんど同じです。
もちろん、 目的が異なるのでフォームとレポートの開発手順が全く同じであることはありませんが、 この入門講座の解説においては同じとみなして良いと思います。

もうひとつフォームとレポートの違いがあります。
それは、 フォームではデータを表示するだけでなく、 データを加工(登録、修正、削除など)することができます。

フォームやレポートには下記の4種の形式があります。(レポートは帳票形式を除く3種です)
1. 単票形式(Columnar)
2. 表形式(Tabular)
3. データシート(Datasheet)
4. 帳票形式(Justified)
この講座では「単票形式」フォームと「表形式」フォームについての開発手順を解説していますが、 レポートでもほとんど同じと考えてもらえは良いです。

フォームのビュー

ビューとは、 フォームやレポートを開くときのモードです。(テーブルにもビューはあります)
開いたビューによってそのオブジェクトに対する操作が異なります。

デザインビュー
名前の通りフォームのデザインを編集するビューのことです。
このビューでコントロールの位置やサイズを変更したり、 追加や削除を行います。

フォームビュー
デザインビューで編集したフォームを実行してデータを表示したり入力するためのビューのことです。
つまりこのフォームビューに思い通りのデータを表示させたり、 様々な操作を行わせるためにデザインビューでフォームを設計します。

レイアウトビュー
デザインビューで編集したフォームを実行してデータを表示したり入力するビューのことです。
フォームビューと違うところは、 フォームビューではデザインを変更することはできませんが、 レイアウトビューではデザインを変更することができます。
入力されたデータを見ながらコントロールの幅や高さを直感的に変更することができます。
ただし、 デザインビューのように詳細な変更を行なうことはできません。
このビューは、 「accessのオプション」の 「レイアウトビューを有効にする」 にチェックが入っている時に選択することができます。

フォームの新規作成

「作成」タブを開き、 「フォーム」、 「フォームデザイン」あるいは「フォームウィザード」をクリックしてフォームを作成します。
この講座では「フォームウィザード」を利用してフォームを新規作成する方法だけを説明します。
(超入門講座なので一番簡単な手段を選択します)

フォームウィザードその1レコードソースの選択 「フォームウィザード」をクリックすると、 レコードソースを選択する画面が表示されます。

この画面でこれから作成しようとするフォームのレコードソースを指定します。

(1) テーブル/クエリ(T)
レコードソースとなるテーブルまたはクエリをプルダウンから選択します。
プルダウンから選択するのでテーブルまたはクエリは既存のものでなければなりません。
(2) 選択可能なフィールド(A)
「選択可能なフィールド(Available Fields list box)」には、 「テーブル/クエリ」で指定したテーブルまたはクエリに定義してあるフィールド名が表示されています。
(3) 操作ボタン
選択ボタン 「選択可能なフィールド」から、ひとつのフィールドを「選択したフィールド」へ移動します。
全選択ボタン 「選択可能なフィールド」から、全てのフィールドを「選択したフィールド」へ移動します。
戻しボタン 「選択したフィールド」から、ひとつのフィールドを「選択可能なフィールド」へ戻します。
全戻しボタン 「選択したフィールド」から、全てのフィールドを「選択可能なフィールド」へ戻します。
(4) 選択したフィールド(S)
「選択可能なフィールド」 内のフィールド名から、
必要なフィールド名を 「選択したフィールド(Selected Fields list box)」 に移動します。
移動する手段には複数の方法があります。(一つのフィールド名を移動する場合)
1. フィールド名をダブルクリックする。
2. フィールド名をクリックして強調表示し、「操作ボタン」をクリックする。

フォームウィザードその2フォームのレイアウト選択 レコードソースを選択し「次へ(N)」をクリックするとフォームのレイアウト選択の画面を表示します。

「単票形式(C)」、「表形式(T)」、「データシート(D)」、「帳票形式(J)」のどれかを選択します。
選択すると、 左の窓にその形式のプレビューが表示されるので、 確認します。

フォームウィザードその3フォーム名の指定 フォームレイアウトを選択し「次へ(N)」をクリックするとフォーム名の指定画面を表示します。

フォーム名を指定し、 完了後のビューを選択して「完了(F)」をクリックすると「フォームウィザード」を使用したフォームの作成は完了です。

新規作成の具体例(表形式フォーム)

ここでは表形式フォームの新規作成手順を具体的に説明します。
表形式フォームは、レコードソースとなるテーブルやクエリのレコードを一覧表表示するためのフォームです。
つまり、 一覧表表示の1行がテーブルやクエリの1レコードになります。

「フォームウィザード」の起動

「作成」タブを開き、 「フォームウィザード」をクリックします。

「フォームウィザード」の操作(レコードソースの選択)

表形式フォームの作成(レコードソースの指定) レコードソースの選択画面が表示されるのでレコードソースを指定します。

「テーブル1」を選択して、 「テーブル1」の全フィールドを選択するをクリックします。

表形式フォームの作成(全てのフィールドを選択した状態) このように全てのフィールドが「選択したフィールド」に移動します

今回は「id」フィールドは不要なので、 「選択したフィールド」の「id」を左クリックして選択し、 「id」フィールドを戻す をクリックして「選択可能なフィールド」に戻します。

「id」フィールドだけを選択から外す 「id」フィールドが選択から外れました。

これでレコードソースの選択が完了したので「次へ(N)」をクリックします。

フォームレイアウトの選択

表形式フォームの作成(フォームレイアウトの選択) 「表形式(T)」を選択して「次へ(N)」をクリックします。

フォーム名の入力と完了後の作業指示

表形式フォームの作成(フォーム名の入力と完了後の作業指示) 「フォーム名」を入力し、 「フォームを作成した後に行なうことを選択してください」では「フォームのデザインを編集する(M)」を選択して「完了(F)」をクリックします。

「フォーム名」には初期値としてレコードソースの名前が設定されています。
フォーム名は何でも良いのですが安全のため英数字と全角文字だけを使用し、 記号(ピリオド、カンマ、アットマーク、ハイフンなど)は使用しないようにします。
「フォームを作成した後に行なうことを選択してください」では、 初期値で「フォームを開いてデータを入力する」が選択されていますが、 Accessが自動的に配置したデザインのまま使用することは無いので「フォームのデザインを編集する(M)」を選択して「完了(F)」を選択します。

表形式フォームの作成完了

下の画像が完成した表形式フォームのデザインビューです。
赤い四角で囲まれた部分を 「フォームセレクタ」 と呼びます。
フォームセレクタはフォーム全体を選択する場合にクリックします。
フォーム全体が選択されているときはフォームセレクタの中が黒くなります。
選択されていないときのフォームセレクタの中は灰色です。

表形式フォームの完成

フォームヘッダーセクションに配置されているのがコントロールのタイトルです。
詳細セクションに配置されているのが実際にデータを表示するためのコントロールのです。

このフォームで実際にデータの入力や修正、 削除を行なうにはフォームのプロパティを設定しておく必要があります。

フォームをデザインビューで開き、 フォームセレクタをクリックしてフォーム全体を選択します。
プロパティシートが表示されていない時は「F4」キーを押して表示します。

ac0221 「データタブ」を表示し、 「追加の許可」、 「削除の許可」、 「更新の許可」を設定します。
これは、 名前の通り新しいレコードの追加の許可、 レコードの削除の許可、 データの更新(修正)の許可について設定します。
「はい」を設定すると許可され、 「いいえ」を設定すると許可されません。
この講座では、 特に記載がない場合は「はい」を設定します。

「データ入力用」は、「いいえ」に設定します。
「いいえ」に設定するとデータを入力できないと思ってしまいます。
実際には新しいレコードの追加は可能です。これはプロパティ名が誤解を招く名前になっているからです。
「データ入力用」に「はい」を設定すると、 既存のデータは表示されずに新しく登録したレコードだけを表示するので分かりやすいでしょうとの目的から作られたプロパティだと思われます。

表形式フォームの実行 左の画像は、 このフォームをフォームビューで見たものです。
この画像は便宜上データ入力後の画像になっています。

赤い四角の部分は「レコードセレクタ」と呼ばれるものです。

レコードセレクタ
レコード全体を選択するときに、 このレコードセレクタをクリックします。
上の画像でレコードセレクタの中に、 右向きの矢印が表示されているのは、 その「毛利元就」のレコードが選択されていることを示しています。
このレコードセレクタにアスタリスク(*)が表示されているのは、 新規レコードの入力行です。
このレコードセレクタはフォームプロパティの書式タブにある 「レコードセレクタ」 で、 表示/非表示を切り替えることができます。
この講座ではレコードセレクタが表示されているものとして解説しています。

コントロールで表示されているデータの表示が欠けていたり、 高さがバラバラだったりしています。
完成したフォームの見栄えなどを良くするための方法は次項の 「フォームの修正」 で解説しています。

新規作成の具体例(単票形式フォーム)

ここでは単票形式フォームの新規作成手順を具体的に説明します。
単票形式フォームは、レコードソースとなるテーブルやクエリの1レコードをひとつのウィンドウに表示します。。

基本的には「新規作成の具体例(表形式フォーム)」と手順は同じで、 「フォームレイアウトの選択」で「表形式」ではなく「単票形式」を選択する部分が異なるだけです。

「フォームウィザード」の起動

「作成」タブを開き、 「フォームウィザード」をクリックします。

「フォームウィザード」の操作(レコードソースの選択)

表形式フォームの作成(レコードソースの指定) レコードソースの選択画面が表示されるのでレコードソースを指定します。

「テーブル1」を選択して、 「テーブル1」の全フィールドを選択するをクリックします。

表形式フォームの作成(全てのフィールドを選択した状態) このように全てのフィールドが「選択したフィールド」に移動します

今回は「id」フィールドは不要なので、 「選択したフィールド」の「id」を左クリックして選択し、 「id」フィールドを戻す をクリックして「選択可能なフィールド」に戻します。

「id」フィールドだけを選択から外す 「id」フィールドが選択から外れました。

これでレコードソースの選択が完了したので「次へ(N)」をクリックします。

フォームレイアウトの選択

単票形式フォームの作成(フォームレイアウトの選択) 「単票形式(C)」を選択して「次へ(N)」をクリックします。

フォーム名の入力と完了後の作業指示

表形式フォームの作成(フォーム名の入力と完了後の作業指示) 「フォーム名」を入力し、 「フォームを作成した後に行なうことを選択してください」では「フォームのデザインを編集する(M)」を選択して「完了(F)」をクリックします。

「フォーム名」には初期値としてレコードソースの名前が設定されています。
フォーム名は何でも良いのですが安全のため英数字と全角文字だけを使用し、 記号(ピリオド、カンマ、アットマーク、ハイフンなど)は使用しないようにします。
「フォームを作成した後に行なうことを選択してください」では、 初期値で「フォームを開いてデータを入力する」が選択されていますが、 Accessが自動的に配置したデザインのまま使用することは無いので「フォームのデザインを編集する(M)」を選択して「完了(F)」を選択します。

単票形式フォームの作成完了

単票形式フォームの完成 左の画像が完成した単票形式フォームのデザインビューです。
フォームのプロパティは表形式フォームと同様に、 データ入力用=いいえ、追加の許可=はい、削除の許可=はい、更新の許可=はいを設定します

単票形式フォームの実行 この画像は完成した単票形式フォームのフォームビューです。
この画像は便宜上データ入力後の画像になっています。

コントロールの幅が必要以上に広かったり、高さも必要以上に高いものがあります。
完成したフォームの見栄えなどを良くするための方法は次項の 「フォームの修正」 で解説しています。

フォームの修正

ウィザードを使用して完成したフォームは正しくデータを表示していますが、 見栄えはあまり良くありません。
コントロールの幅や高さを適切な大きさにしたり、 表示位置を適切にするためにはフォームを修正しなければなりません。

そこで今回はフォームの修正操作をを別稿の
フォーム(レポート)修正の基本
コントロールの整列

にまとめています。
免責免責