Accessで1つのフォーム上に2つのテーブルの情報を表示して、同時に閲覧できると便利な場合があります。
たとえば、[得意先]テーブルと[受注]テーブルがあって、1つの得意先に結びつく受注情報を表示したいと場合には、サブフォームを含むフォームを作成すると便利です。
2つのテーブルどうしをリレーションシップで結合して、参照整合性の設定をしておくと簡単に作成できます。

参考ここでは、ドキュメントウィンドウオプションの設定は、既定の[タブ付きドキュメント]を選択しています。
- 
															[タブ付きドキュメント]と[重ねて表示]の違いと切り替え方法Access 2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 以前からAccessを使っている方 ... 
テーブルの確認
まず、2つのテーブル、[得意先]テーブルと[受注]テーブルをデザインビューで開いて確認します。
[得意先]テーブル
[得意先]テーブルのデザインビューは以下のようになっています。
[ID]フィールドの[データ型]は[オートナンバー型]で、[主キー]の設定をしています。
フィールドプロパティで、[ID]のフィールドサイズは[長整数型]を選択しています。
![テーブルのデザインビューで[主キー]の設定](https://hamachan.info/WordPress2019/wp-content/uploads/2017/01/access2010field4.png)
[受注]テーブル
[受注]テーブルのデザインビューです。
[得意先ID]フィールドは、[得意先]テーブルの[ID]と整合性がとれているものです。
[得意先ID]フィールドの[データ型]は[数値型]です。
フィールドプロパティで、[得意先ID]のフィールドサイズは[長整数型]を選択しています。

参考データ型とフィールドサイズについては、以下で解説しています。
- 
															テーブル(フィールド)のデータ型の種類とフィールドプロパティ文字とか数値といったデータの種類のことをデータ型と呼びます。 Accessでは、フィールドごとにデータ型が決まっていて、同じデータ型のデータ ... 
リレーションシップの作成と参照整合性の設定
[データベースツール]タブの[リレーションシップ]をクリックします。
![[データベースツール]タブの[リレーションシップ]](https://hamachan.info/WordPress2019/wp-content/uploads/2017/01/access2010f5.png)
リレーションシップウィンドウに[得意先]テーブルと[受注]テーブルを表示します。
[リレーションシップツール]-[デザイン]タブの[リレーションシップ]グループにある[テーブルの表示]をクリックして、テーブルを選択します。
![[デザイン]タブの[リレーションシップ]グループにある[テーブルの表示]](https://hamachan.info/WordPress2019/wp-content/uploads/2017/01/664sub10.png)
[受注]テーブルの[得意先ID]と[得意先]テーブルの[ID]をドラッグして、[リレーションシップ]の参照整合性のチェックボックスをオンにして、[作成]ボタンをクリックします。
![[リレーションシップ]ダイアログボックスの[参照整合性]](https://hamachan.info/WordPress2019/wp-content/uploads/2017/01/664sub3.png)
2つのテーブル間でリレーションシップが設定され、結合線が表示されます。

参考参照整合性を設定する場合、データ型は同じであることが基本ですが、[オートナンバー型]のフィールドと[数値型]のフィールドを結合する場合、それぞれのフィールドサイズを[長整数型]にすると、参照整合性を設定できます。
リレーションシップと参照整合性については、以下の記事で詳しく解説しています。
以下の記事内でもサブフォームを含むフォームの作成について記しています。
- 
															リレーションシップの作成と参照整合性の設定Accessでは、複数のテーブルがあって、そのテーブル間の共通フィールドを関連付けることができます。この関連付けのことを[リレーションシップ ... 
主テーブルのデータシートにサブデータシートが表示される
テーブル間に参照整合性の設定ができると、主テーブル(主キーを設定したテーブル)をデータシートビューで開いた時に、各レコードの左端に[+]のマークが表示されます。
ここでは、[得意先]テーブルですね。[得意先]テーブルをデータシートビューで開くと、以下のようになります。
[+]は展開インジゲーターと呼ばれるものです。
[+]をクリックして展開すると、関連テーブル側のレコードがサブデータシートとして表示されます。
[-]をクリックすると、閉じられます。

参考サブデータシートについては、以下の記事で詳しく解説しています。
- 
															サブデータシートはテーブルプロパティで手動設定できるAccessのテーブル間でリレーションシップの設定すると、2つのテーブルに関連性が生じます。 テーブルをデータシートビューで開くと、各レコー ... 
サブフォームを含むフォームの作成
サブフォームを含むフォームは、簡単に作成できます。
[得意先]テーブルを選択したまま[作成]タブの[フォーム]グループにある[フォーム]をクリックします。
![[作成]タブの[フォーム]グループにある[フォーム]](https://hamachan.info/WordPress2019/wp-content/uploads/2017/01/664sub5.png)
すると、自動的に下のような[受注]テーブルがサブフォームに埋め込まれたフォームが作成されます。
レイアウトビューで表示されます。
この場合、サブフォームはデータシートになります。

コントロールボックスの大きさや位置を調整したり、不要なコントロールなどを削除して完成です。
以下は、フォームビューで表示しています。

サブフォームのプロパティ
作成したフォームをデザインビューで開いて、サブフォームのプロパティを確認すると、リレーションシップで設定したフィールドでリンクされていることが分かります。

参考サブフォームは、[デザイン]タブの[コントロール]グループにある[サブフォーム/サブレポート]ボタンから作成することもできます。
![[デザイン]タブの[コントロール]グループにある[サブフォーム/サブレポート]](https://hamachan.info/WordPress2019/wp-content/uploads/2017/01/664sub8.png)
以下の記事で解説しています。
- 
															サブフォームウィザードを使ってメインフォームへサブフォームを組み込むメインフォームにサブフォームを組み込んで、サブフォームを含むフォームを作成できます。 コントロールの[サブフォーム/サブレポート]ボタンを使 ... 
また、フォームウィザードを使って作成する方法もあります。メインフォームとサブフォームをウィザードで作成します。
- 
															フォームウィザードを使ってサブフォームを含むフォームを作成フォームウィザードで2つのテーブルやクエリを指定して、関連付けされたメインフォームとサブフォームを作成できます。 フォーム作成のもとになるテ ... 
参考[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのもあります。
- 
															分割フォーム(単票フォームとデータシートを同時に表示)の作成と使い方Accessでは、画面を2つに分け[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのがあります。Access200 ... 
 
                            
