サブフォームをフォームに追加して、1対多の関係から関連データを提供できます。これにより、レコード内に多くの関連レコードを表示できます。
サブフォーム 別のフォーム内にネストされたフォームです。通常、メインフォームで現在開いているレコードに関連するデータが含まれています。
たとえば、注文を表示するフォームと、注文内の各アイテムを表示するサブフォームを作成できます。
または、バンドを表示するフォームと、そのバンドがリリースした各アルバムを表示するサブフォームを作成することもできます。
別の例を示します。国に関する情報を含むフォームにサブフォームを追加します。サブフォームには、各国の都市が表示されます。
-
フォームを開く
左側のナビゲーションペインで、フォームを右クリックし、デザインビューを選択します。 コンテキストメニューから。
-
コントロールツールバーを展開
コントロール を見つけます デザイン のグループ リボンのタブ。
小さな下矢印をクリックして、使用可能なフォームコントロールのリストを展開します。
-
サブフォームオプションを選択
サブフォーム/サブレポートをクリックします アイコンを選択して選択します。
次に、サブフォームを表示する場所にあるフォームをクリックします。
これにより、サブフォームウィザードが起動します。
各アイコンにカーソルを合わせると、アイコンが表すコントロールを確認できます。
-
サブフォームに使用するデータソースを選択します
サブフォームをテーブルやクエリ、または既存のフォームに基づいて作成するオプションがあります。
この例では、既存のテーブルとクエリを使用を選択します。 。
オプションを選択したら、[次へ>]をクリックします 。
-
フィールドを選択
既存のテーブルとクエリを使用を選択した場合 、サブフォームで使用するフィールドを選択するように求められます。
ドロップダウンリストからテーブルまたはクエリを選択します。
左側のペインで、サブフォームで必要な各フィールドを選択し、小さな>をクリックします。 ボタンをクリックして、右ペインに移動します。
複数のテーブルまたはクエリからフィールドを選択できます。最初のテーブル/クエリが完了したら、ドロップダウンから別のテーブル/クエリを選択するだけです。
完了したら、次へ>をクリックします 。
フィールドをダブルクリックして、別のペインに移動することもできます。
>>を使用することもできます ボタンをクリックして、すべてのフィールドを移動します。
-
リンクフィールドを選択
メインフォームとそのサブフォームをリンクするフィールドが必要です。これは通常、IDフィールドなどです。
以前にテーブルの関係を設定したことがある場合、Accessは、関係の主キーと外部キーに基づいて、使用するフィールドを推測します。
ウィザードのこの部分で、Accessを使用すると、独自のフィールドを選択するか、提供されたリストから別のフィールドを選択することができます。
この例では、Accessが推測したフィールドに残します。
フィールドを選択したら、[次へ>]をクリックします 。
技術的には、必要はありません リンクフィールドになります。 なしを選択できます 。
ただし、現在のレコードとは関係のないデータを表示するサブフォームが作成される可能性があります。すべてのレコードは、同じデータで同じサブフォームを表示します。
-
サブフォームに名前を付ける
サブフォームの名前を入力してください。
完了をクリックします 。
-
デザインビューのサブフォーム
これで、サブフォームがフォームの手順3でクリックした場所に追加されました。
デザインビューでは、大きな埋め込みフォームとして表示されます。
-
必要に応じて変更
フォーマットを微調整する必要があるかもしれません。たとえば、ラベルの位置、色、フォントの太さなどを調整する必要がある場合があります。
レイアウトビューに切り替えてデザインビューに戻り、必要に応じて変更します。
-
完成したサブフォーム
次に、フォームビューに切り替えて、ユーザーにどのように表示されるかを確認します。
メインフォームが表示され、サブフォームが埋め込まれています。サブフォームは、通常のテーブルやクエリ結果と同じように、データセットビューに表示されます。
メインフォームのレコードをナビゲートすると、サブフォームのデータが更新されます。
データセットビューのサブフォームは、サブデータシートと呼ばれることもあります。
サブフォームを表示できるビューはデータセットビューだけではありません。プロパティシートを使用して、デフォルトのビューを単一フォーム、連続フォーム、または分割ビューに変更できます。
これを行うには、 デフォルトビュー を探します プロパティ。
-
サブフォームの保存
フォームを保存すると、サブフォームは別のフォームとして保存されます。
-
サブフォームをスタンドアロンフォームとして表示する
サブフォームは、他のフォームと同じようにナビゲーションペインに表示されます。結局のところ、これは単なる別のフォームです。
開くと、おそらくデータセットビューで開きます(サブフォーム用に選択したビューであると想定しています)。
デフォルトのビューは(プロパティシートを介して)いつでも変更できますが、これは他のフォーム内でのサブフォームの表示方法にも影響することに注意してください。
(別のフォーム内の)サブフォームとして表示される場合、親フォームの現在のレコードに関連するデータのみが表示されます。ただし、スタンドアロンフォームとして開くと、すべてのデータが表示されます。