Access の 2 つのテーブルに 1 つ以上のフィールドが共通している場合は、1 つのテーブルから別のテーブルにデータシートを埋め込む方法があります。 サブデータシートと呼ばれる埋め込みデータシートは、テーブルまたはテーブル内の関連データまたは結合されたデータを表示および編集する場合に クエリ。
この記事の内容
サブデータシートの概要
サブデータシートは、複数のデータ ソースの情報を 1 つのデータシート ビューで表示する場合に便利です。 たとえば、Northwind サンプル データベースの Orders テーブルには、[受注詳細] テーブル 一対多リレーションシップ が設定されています。
[受注詳細] テーブルが [受注] テーブルにサブデータシートとして追加されている場合、その受注のサブデータシートを開いて、特定の注文に含まれる製品 (各行) などのデータを表示および編集できます。
テーブルにサブデータシートを追加する場合は、これらのサブデータシートの使用を、重要なビジネス データを編集ではなく表示に制限します。 テーブルのデータを編集する場合は、フォームを使用してサブデータシートではなくデータを編集することをお勧めします。データ入力エラーは、ユーザーが正しいセルまでスクロールすることを注意しない場合、データシート ビューで発生する可能性が高いからです。 また、大きなテーブルにサブデータシートを追加すると、テーブルのパフォーマンスに悪影響を与える可能性があります。
Microsoft Access では、次のいずれかの条件に一致するテーブルを作成すると、サブデータシートが自動的に作成されます。
-
テーブルは 1 つの 一対一リレーションシップ。
-
テーブルは一対多リレーションシップの "一" 側で、テーブルの SubdatasheetName プロパティが [自動] に設定されます。
リレーションシップは、関連付けテーブルの 主キー フィールド 外部キー 一致して定義されます。
サブデータシートは、データベース内の任意のテーブル、クエリ、 フォーム 追加することもできます。 データシート ビューでは、フォームに表示できるサブデータシートは一度に 1 つのみです。
サブデータシートを開いて閉じる
テーブル、クエリ、またはフォームに既にサブデータシートが含されているかどうかを確認するには、データシート ビューでオブジェクトを開きます。 展開インジケーター (+ 記号) がある場合、テーブル、クエリ、またはフォームにサブデータシートがあります。 サブデータシートが開いているときに、インジケーターが - 記号に変わります。 サブデータシートは、メインのサブデータシートに最大 8 レベルまでネストできます。
-
サブデータシートを開く場合は、レコードを表示する値の横にあるプラス記号をクリックします。
-
サブデータシートを閉じるには、マイナス記号をクリックします。
ヒント: データシート内のすべてのサブデータシートを同時に展開または折りたたむには、[ホーム] タブの [レコード]グループで [その他] をクリックします。 次に 、[サブデータシート] を選択し、目的のオプションをクリックします。
サブデータシートを削除または非表示にできます。 サブデータシートを削除する方法については、「サブデータシートを削除する」 を参照してください。
ヒント: サブデータシートを非表示にする場合は、テーブルをデザイン ビューで開き、[デザイン] タブの [表示/非表示] グループで [プロパティ シート]をクリックします。 [シート] ウィンドウで [サブデータシート名 ] 行を見つけ、[なし ]に変更して、変更を保存します。
サブデータシートを追加する
-
データシート ビューで、サブデータシートを追加するテーブルまたはクエリを開きます。
-
[ホーム] タブの[レコード]グループで [その他] をクリックし、[サブデータシート] をポイントして、[サブデータシート] をクリックします。
-
[サブデータシートの挿入] ダイアログ ボックスで、サブデータシートとして挿入するオブジェクトの種類に対応するタブ(テーブル、クエリ、または両方)を選択します。
-
[子 フィールドの リンク] ボックスで、サブデータシートのデータを提供するフィールド 外部キー 一致するフィールドとして使用するフィールドをクリックします。
-
[リンク マスター フィールド] ボックスで、メイン テーブルまたはクエリの 主キー または一致するフィールドとして使用するフィールドをクリックし 、[OK]をクリックします。
たとえば、サブデータシートを作成して、[得意先] テーブルの各顧客レコードの関連する受注を表示する場合は、[受注] テーブルを選択し、[リンク子フィールド] ボックスで [得意先ID]を選択し、[リンク 親フィールド] ボックスで[ID]を選択します。
注: [リンク子フィールド] ボックスと[リンク 親フィールド] ボックスの値により、指定したフィールド 結合 一対多のフィールドが作成されます。
-
[OK] をクリックして変更を保存します。
-
テーブル、クエリ、またはフォームに追加したサブデータシートを表示するには、+ 記号をクリックします。
注: 子 (外部キー) フィールドは、サブデータシートの列として表示されません。 サブデータシートに新しいレコードを追加すると、選択したベース テーブルの主キー値が自動的に挿入されます。