Accessのフォームとはテーブルやクエリのデータをもとに、データの表示、入力、編集するためのオブジェクトです。
フォームウィザードでは、[単票形式]、[表形式]、[データシート]、[帳票形式]の4つのレイアウトから選択できるようになっています。
ウィザードなので、設問に答えていくだけでフォームを作成できます。
また、フォームウィザードでクエリが正しく認識されない場合は、プロパティのレコードソースで修正します。
参考ここでは[ウィンドウを重ねて表示する]の設定にしています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
この記事の目次
フォームウィザードの起動
フォームウィザードを起動するには、[作成]タブの[フォーム]グループにある[フォームウィザード]をクリックします。
フォームウィザード
シンプルでカスタマイズ可能なフォームを作成するのに役立つ、フォームウィザードを起動します。
[テーブル/クエリ]の▼ボタンをクリックして、フォーム作成となるテーブル、またはクエリを選択します。
ここでは、[T_売上]を選択します。
[選択可能なフィールド]からフォームに表示するフィールドを選択します。
ここでは、すべてのフィールドを表示するので、[>>]ボタンをクリックします。
参考[選択可能なフィールド]から選択し忘れたフィールドや、不要なフィールドがあっても、ウィザードでフォームを作成した後で修正できます。
[選択したフィールド]にすべてのフィールドが移行したことを確認して[次へ]のボタンをクリックします。
フォームのレイアウトを指定します。
[単票形式]を選択して、[次へ]のボタンをクリックします。
参考ここのレイアウトについては、以下で解説しています。
フォーム名を指定します。ここでは、[F売上]とします。
既定の[フォームを開いてデータを入力する]を選択したまま、[完了]ボタンをクリックします。
次のような単票フォームが作成されます。
参考フォームビューで表示されるので、コントロールのレイアウトなどを修正する場合は、[レイアウトビュー]または[デザインビュー]に切り替えて修正します。
ここで[レイアウトビュー]が表示されていない場合は、[Accessのオプション]でレイアウトビューを使用しない設定になっていないかを確認してください。
フォームウィザードを使って、サブフォームを含むフォームを作成することもできます。以下の記事で解説しています。
テーブル間でリレーションシップの設定ができていれば、作成は簡単です。
-
フォームウィザードを使ってサブフォームを含むフォームを作成
フォームウィザードで2つのテーブルやクエリを指定して、関連付けされたメインフォームとサブフォームを作成できます。 フォーム作成のもとになるテ ...
参考デザインビューからフォームビューに切り替えるショートカットキーは[F5]キーです。
フィールドの追加と削除
ウィザードで追加し忘れたフィールがあった場合や、削除したいフィールドは、フォームをデザインビューで開いて修正できます。
フィールドの追加
[デザイン]タブの[ツール]グループにある[既存のフィールドの追加]をクリックして、フィールドを追加します。
たとえば、[売上額]フィールドを追加していなかった場合は、[既存のフィールドの追加]をクリックして、[フィールドリスト]から、[売上額]フィールドをドラッグして追加します。
フィールドの削除
不要なフィールドは、選択して[Delete]キーで削除します。
または、フィールドを右クリックしてショートカットメニューから[削除]をクリックします。
クエリをもとに作成したが正しく認識されない場合の修正方法
フォームウィザードは、テーブル以外にクエリをもとにして作成できますが、作成したフォームにクエリがうまく認識されない場合があります。
例えば、以下のようなクエリがあります。
[Q_売上伝票]では、[伝票№]の昇順になるように[伝票№]フィールドの[並べ替え]で[昇順]にしています。
クエリをデータシートビューで表示すると以下のように表示されます。[伝票№]の昇順に並んでいます。
フォームウィザードを使って、このクエリ[Q_売上伝票]をもとにフォームを作成して、フォームビューで表示すると、[伝票№]の昇順になっていません。
フォームウィザードでは、レイアウトは[データシート]を選択して作成しています。
レコードソースを修正
作成したフォームをデザインビューで開いて、フォームセレクターをダブルクリックしてフォームプロパティを表示します。
[データ]タブの[レコードソース]を見ると、以下のようになっています。ここを修正します。
[データ]タブの[レコードソース]の▼ボタンをクリックして、一覧から元となっているクエリを選択します。
ここでは、[Q_売上伝票]ですね。
データシートビューに切り替えて確認すると、[伝票№]の昇順に並びます。
フォームウィザードで選択できるレイアウトについて
フォームウィザードで選択できるフォームレイアウトは、以下の4つの形式です。
- 単票形式
- 表形式
- データシート
- 帳票形式
単票形式
1件のレコードを1つのフォームにカードのように表示されます。
表形式
レイアウトの選択で[表形式]を選択します。
[表形式]を選択すると、以下のようなレイアウトのフォームが作成されます。
1件のレコードが1行に表示されて、複数のレコードが縦に並びます。
データシート
レイアウトの選択で[データシート]を選択します。
テーブルのデータシートビューと同じ形式になります。レコードが一覧で表示されます。
帳票形式
レイアウトの選択で[帳票形式]を選択します。
単票形式と同じように、1レコードが1フォームに表示されますが、帳票のように表示されます。
参考この帳票フォームですが、フォームプロパティの[既定のビュー]を確認すると、[単票フォーム]となっています。この場合の[単票フォーム]は、1件のレコードのみが表示されるということだと思います。
ここで、[帳票フォーム]を選択すると、
以下のように帳票形式のレイアウトのまま、複数のレコードが表示されるようになります。
フォームウィザードで[帳票形式]を選択すると、複数のレコードが表示されると思われがちですが、フォームウィザードでの[帳票形式]は1レコードです。
[複数のアイテム]を選択した場合
複数レコードを表示するレイアウトを作成するのであれば、テーブルを選択して、[作成]タブの[フォーム]グループにある[その他のフォーム]から[複数のアイテム]を選択するといいと思います。
複数のアイテム
複数のレコードを一度に表示するフォームを作成します。
[複数のアイテム]を選択すると、以下のようなレイアウトになります。
この[複数のアイテム]を選択した場合のフォームのプロパティには[帳票フォーム]が選択されています。
プロパティの[既定のビュー]でフォームレイアウトを切り替え
作成したフォームレイアウトが、目的のものでなかった場合は、フォームプロパティの[既定のビュー]で切り替えることができます。
デザインビューに切り替えて、[デザイン]タブの[ツール]グループにある[プロパティシート]をクリックするか、キーボードから[F4]キーを押します。デザインビューで[F4]キーを押すと、プロパティシートを表示できます。
または、フォームの左上の□をダブルクリックすると、フォームプロパティを表示できます。■になっている時はフォームが選択されています。
必ず[プロパティシート]の[選択の種類]が[フォーム]になっていることを確認してください。
[書式]タブの[既定のビュー]のプルダウン▼をクリックします。以下の4つのフォームが選択できるようになっています。
フォームビューに切り替えてみて、目的のレイアウトに近いものを選択するといいですね。
- 単票フォーム
- 帳票フォーム
- データシート
- 分割フォーム
参考分割フォームについては、以下の記事で解説しています。単票とデータシートビューを同時に表示できます。
-
分割フォーム(単票フォームとデータシートを同時に表示)の作成と使い方
Accessでは、画面を2つに分け[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのがあります。Access200 ...
ウィザード以外のフォームの作成
フォームを作成する方法はウィザードだけでなく、他にもあります。
できるだけテーブルやクエリに対応した目的のフォームに近いものを選択すると、その後の細かい編集も楽になります。
[作成]タブの[フォーム]グループに注目してください。
[フォーム]グループの[フォーム]を選択すると、単票フォームが作成されます。
必ず、クリックする前にテーブルや、クエリを選択します。
フォーム
フォームを作成して、1レコードずる情報を入力できるようにします。
以下のような単票フォームが作成されます。
レイアウトビューで表示されるので、このままコントロールの編集ができます。
[ホーム]タブの[表示]で確認したり、ビューを切り替えることができます。
レイアウトの削除(コントロールのグループ解除)
フォームを作成すると、テーブルとしてレイアウトが設定されています。
[デザインビュー]に切り替えたときに、コントロールの位置や大きさを個別に調整するには、レイアウトを削除します。
[配置]タブの[テーブル]グループにある[レイアウトの削除]をクリックします。
または、コントロールを選択して右クリックします。ショートカットメニューの[レイアウト]から[レイアウトの削除]をクリックします。
これで個別に調整できるようになります。
右クリックの[レイアウトの削除]は、レイアウトビューにもあります。
参考Access2007では、コマンドボタンの名前は[解除]だったのですが、Access2010以降は[レイアウトの削除]となっています。
右クリックも[解除]でした。
コントロールのグループ化を解除する方法については、以下の記事で詳細に解説しています。グループ同士の結合もできます。
-
フォームのコントロールのグループ解除(レイアウトの削除)と結合・再設定
Accessでテーブルやクエリをもとにフォームを作成すると、コントロールを自由に移動できないということがあります。 それは、コントロールがグ ...
その他のフォーム(分割フォーム)
[作成]タブの[フォーム]グループの[その他のフォーム]をクリックすると、以下のメニューが表示されます。
- 複数のアイテム
- データシート
- 分割フォーム
- モーダルダイアログボックス
この中の分割フォームについては、以下の記事で解説しています。
-
分割フォーム(単票フォームとデータシートを同時に表示)の作成と使い方
Accessでは、画面を2つに分け[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのがあります。Access200 ...
ナビゲーション
また、[ナビゲーション]をクリックすると、以下のメニューが表示されます。
- 水平タブ
- 垂直タブ(左)
- 垂直タブ(右)
- 水平タブ(2レベル)
- 水平タブと垂直タブ(左)
- 水平タブと垂直タブ(右)
ナビゲーションフォームの作成については、以下の記事で解説しています。
-
ナビゲーションフォームの作成(フォーム・レポートをタブで切り替え)
ナビゲーションフォームとは、作成済のフォームやレポートをタブで切り替えて表示できるフォームのことです。 6種類のレイアウトが用意されています ...