投稿日時:

Accessのリレーションシップを設定するには二つの方法があります。

・リレーションシップウィンドウで設定する
・クエリで設定する

クエリのデザインビューでは、複数のテーブルを追加すると自動的にリレーションシップが設定されます。
(フィールド名とデータ型が同じであり、しかもいずれか一方または両方が主キーの場合、自動的に結合されます)
そのため、クエリで設定する方法を使っている方が多いのではないでしょうか。

実は、リレーションシップの作成方法により下記のような違いがありますので、目的により使い分けをする必要があります。

【リレーションシップウィンドウで作成した場合】
・ファイル内の全てのオブジェクトで認識されるリレーションシップ
・一側テーブルにサブデータシートが作成される

【クエリのデザインビューで作成した場合】
・そのクエリおよびそれを利用したフォームやレポートのみで認識されるリレーションシップ
・テーブル同士はリレーションシップを認識していないため、サブデータシートは作成されない
・参照整合性および連鎖更新や連鎖削除の設定はできない

通常の場合はリレーションシップウィンドウで全体に適用されるリレーションシップを設定し、たとえば特殊な抽出をするために外部結合を使う場合など、そのクエリのみに適用されるリレーションシップのためにクエリのデザ

インビューで設定するという使い分けをします。ご参考としていただければ幸いです。

(担当:瀧川 仁子