リンクユニット

Windows 7 & Office 2010 Access 2010

サブフォームを含むフォームを簡単作成

投稿日:2017年1月7日 更新日:

Accessで1つのフォーム上に2つのテーブルの情報を表示して、同時に閲覧できると便利な場合があります。

たとえば、[得意先]テーブルと[受注]テーブルがあって、1つの得意先に結びつく受注情報を表示したいと場合には、サブフォームを含むフォームを作成すると便利です。

2つのテーブルどうしをリレーションシップで結合して、参照整合性の設定をしておくと簡単に作成できます。

サブフォームを含むフォーム

参考ここでは、ドキュメントウィンドウオプションの設定は、既定の[タブ付きドキュメント]を選択しています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。従来からAccessを使用している方に ...

続きを見る

テーブルの確認


まず、2つのテーブル、[得意先]テーブルと[受注]テーブルをデザインビューで開いて確認します。

[得意先]テーブル

[得意先]テーブルのデザインビューは以下のようになっています。

[ID]フィールドの[データ型]は[オートナンバー型]で、[主キー]の設定をしています。

フィールドプロパティで、[ID]のフィールドサイズは[長整数型]を選択しています。

テーブルのデザインビューで[主キー]の設定

[受注]テーブル

[受注]テーブルのデザインビューです。

[得意先ID]フィールドは、[得意先]テーブルの[ID]と整合性がとれているものです。

[得意先ID]フィールドの[データ型]は[数値型]です。

フィールドプロパティで、[得意先ID]のフィールドサイズは[長整数型]を選択しています。

テーブルのデザインビュー

リレーションシップの作成と参照整合性の設定

[データベースツール]タブの[リレーションシップ]をクリックします。

[データベースツール]タブの[リレーションシップ]

リレーションシップウィンドウに[得意先]テーブルと[受注]テーブルを表示します。

[受注]テーブルの[得意先ID]と[得意先]テーブルの[ID]をドラッグして、[リレーションシップ]の参照整合性のチェックボックスをオンにして、[作成]ボタンをクリックします。

リレーションシップ

2つのテーブル間でリレーションシップが設定され、結合線が表示されます。

デザイン

参考参照整合性を設定する場合、データ型は同じであることが基本ですが、[オートナンバー型]のフィールドと[数値型]のフィールドを結合する場合、それぞれのフィールドサイズを[長整数型]にすると、参照整合性を設定できます。

リレーションシップと参照整合性については、以下の記事で詳しく解説しています。以下の記事内でもサブフォームを含むフォームの作成について記しています。

リレーションシップの作成と参照整合性の設定

Accessでは、複数のテーブルがあって、そのテーブル間の共通フィールドを関連付けることができます。この関連付けのことを[リレーションシップ ...

続きを見る

主テーブルのデータシートにサブデータシートが表示される

テーブル間に参照整合性の設定ができると、主テーブル(主キーを設定したテーブル)をデータシートビューで開いた時に、各レコードの左端に[+]のマークが表示されます。

ここでは、[得意先]テーブルですね。[得意先]テーブルをデータシートビューで開くと、以下のようになります。

[+]は展開インジゲーターと呼ばれるものです。

[+]をクリックして展開すると、関連テーブル側のレコードがサブデータシートとして表示されます。

[-]をクリックすると、閉じられます。

主テーブルのデータシートビューのインジゲーターを展開

サブフォームを含むフォームの作成

サブフォームを含むフォームは、簡単に作成できます。

[得意先]テーブルを選択したまま[作成]タブの[フォーム]グループにある[フォーム]をクリックします。

サブフォーム

すると、自動的に下のような[受注]テーブルがサブフォームに埋め込まれたフォームが作成されます。

レイアウトビューで表示されます。

この場合、サブフォームはデータシートになります。

サブフォームを含むフォームの作成

コントロールボックスの大きさや位置を調整したり、不要なコントロールなどを削除して完成です。

以下は、フォームビューで表示しています。

サブフォームを含むフォーム

サブフォームのプロパティ

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

サブフォームのプロパティ

参考サブフォームは、[デザイン]タブの[コントロール]グループにある[サブフォーム/サブレポート]ボタンから作成することもできます。

デザインタブ サブフォーム/サブレポート

以下の記事で解説しています。

サブフォームウィザードを使ってメインフォームへサブフォームを組み込む

メインフォームにサブフォームを組み込んで、サブフォームを含むフォームを作成できます。 コントロールの[サブフォーム/サブレポート]ボタンを使 ...

続きを見る

また、フォームウィザードを使って作成する方法もあります。メインフォームとサブフォームをウィザードで作成します。

フォームウィザードを使ってサブフォームを含むフォームを作成

フォームウィザードで2つのテーブルやクエリを指定して、関連付けされたメインフォームとサブフォームを作成できます。 フォーム作成のもとになるテ ...

続きを見る

Microsoftのページもリンクしておきます。

サブフォームを含むフォームを作成する - Access - Office.com

参考[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのもあります。

分割フォームの作成と使い方(データシートの標題の変更方法も)

Accessでは、画面を2つに分け[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのがあります。Access200 ...

続きを見る

Profile

執筆者/はま

もっと理解したいあなたへ

おすすめ記事と広告

-Windows 7 & Office 2010 Access 2010

Copyright © 2001-2020 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2020 AllRights Reserved Powered by AFFINGER4.