Accessで1つのフォーム上に2つのテーブルの情報を表示して、同時に閲覧できると便利な場合があります。
たとえば、[得意先]テーブルと[受注]テーブルがあって、1つの得意先に結びつく受注情報を表示したいと場合には、サブフォームを含むフォームを作成すると便利です。
2つのテーブルどうしをリレーションシップで結合して、参照整合性の設定をしておくと簡単に作成できます。
参考ここでは、ドキュメントウィンドウオプションの設定は、既定の[タブ付きドキュメント]を選択しています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
この記事の目次
テーブルの確認
まず、2つのテーブル、[得意先]テーブルと[受注]テーブルをデザインビューで開いて確認します。
[得意先]テーブル
[得意先]テーブルのデザインビューは以下のようになっています。
[ID]フィールドの[データ型]は[オートナンバー型]で、[主キー]の設定をしています。
フィールドプロパティで、[ID]のフィールドサイズは[長整数型]を選択しています。
[受注]テーブル
[受注]テーブルのデザインビューです。
[得意先ID]フィールドは、[得意先]テーブルの[ID]と整合性がとれているものです。
[得意先ID]フィールドの[データ型]は[数値型]です。
フィールドプロパティで、[得意先ID]のフィールドサイズは[長整数型]を選択しています。
参考データ型とフィールドサイズについては、以下で解説しています。
-
テーブル(フィールド)のデータ型の種類とフィールドプロパティ
文字とか数値といったデータの種類のことをデータ型と呼びます。 Accessでは、フィールドごとにデータ型が決まっていて、同じデータ型のデータ ...
リレーションシップの作成と参照整合性の設定
[データベースツール]タブの[リレーションシップ]をクリックします。
リレーションシップウィンドウに[得意先]テーブルと[受注]テーブルを表示します。
[リレーションシップツール]-[デザイン]タブの[リレーションシップ]グループにある[テーブルの表示]をクリックして、テーブルを選択します。
[受注]テーブルの[得意先ID]と[得意先]テーブルの[ID]をドラッグして、[リレーションシップ]の参照整合性のチェックボックスをオンにして、[作成]ボタンをクリックします。
2つのテーブル間でリレーションシップが設定され、結合線が表示されます。
参考参照整合性を設定する場合、データ型は同じであることが基本ですが、[オートナンバー型]のフィールドと[数値型]のフィールドを結合する場合、それぞれのフィールドサイズを[長整数型]にすると、参照整合性を設定できます。
リレーションシップと参照整合性については、以下の記事で詳しく解説しています。
以下の記事内でもサブフォームを含むフォームの作成について記しています。
-
リレーションシップの作成と参照整合性の設定
Accessでは、複数のテーブルがあって、そのテーブル間の共通フィールドを関連付けることができます。この関連付けのことを[リレーションシップ ...
主テーブルのデータシートにサブデータシートが表示される
テーブル間に参照整合性の設定ができると、主テーブル(主キーを設定したテーブル)をデータシートビューで開いた時に、各レコードの左端に[+]のマークが表示されます。
ここでは、[得意先]テーブルですね。[得意先]テーブルをデータシートビューで開くと、以下のようになります。
[+]は展開インジゲーターと呼ばれるものです。
[+]をクリックして展開すると、関連テーブル側のレコードがサブデータシートとして表示されます。
[-]をクリックすると、閉じられます。
参考サブデータシートについては、以下の記事で詳しく解説しています。
-
サブデータシートはテーブルプロパティで手動設定できる
Accessのテーブル間でリレーションシップの設定すると、2つのテーブルに関連性が生じます。 テーブルをデータシートビューで開くと、各レコー ...
サブフォームを含むフォームの作成
サブフォームを含むフォームは、簡単に作成できます。
[得意先]テーブルを選択したまま[作成]タブの[フォーム]グループにある[フォーム]をクリックします。
すると、自動的に下のような[受注]テーブルがサブフォームに埋め込まれたフォームが作成されます。
レイアウトビューで表示されます。
この場合、サブフォームはデータシートになります。
コントロールボックスの大きさや位置を調整したり、不要なコントロールなどを削除して完成です。
以下は、フォームビューで表示しています。
サブフォームのプロパティ
作成したフォームをデザインビューで開いて、サブフォームのプロパティを確認すると、リレーションシップで設定したフィールドでリンクされていることが分かります。
参考サブフォームは、[デザイン]タブの[コントロール]グループにある[サブフォーム/サブレポート]ボタンから作成することもできます。
以下の記事で解説しています。
-
サブフォームウィザードを使ってメインフォームへサブフォームを組み込む
メインフォームにサブフォームを組み込んで、サブフォームを含むフォームを作成できます。 コントロールの[サブフォーム/サブレポート]ボタンを使 ...
また、フォームウィザードを使って作成する方法もあります。メインフォームとサブフォームをウィザードで作成します。
-
フォームウィザードを使ってサブフォームを含むフォームを作成
フォームウィザードで2つのテーブルやクエリを指定して、関連付けされたメインフォームとサブフォームを作成できます。 フォーム作成のもとになるテ ...
参考[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのもあります。
-
分割フォーム(単票フォームとデータシートを同時に表示)の作成と使い方
Accessでは、画面を2つに分け[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのがあります。Access200 ...