こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessの結合クエリフィールド選択について

例えば、テーブルを2つ作成し、リレーションを設定し、
その2つのテーブルからフィールドをあわせた
クエリを作成する際に、同じフィールド名があれば、
1対多の多の方を選択するようにと問題集などに書いてありますが、
なぜそうなのか考え方が分かりません。
教えて頂けないでしょうか?


環境:Access2003

投稿日時 - 2007-01-16 17:41:05

QNo.2670723

困ってます

質問者が選んだベストアンサー

実際に2つのテーブルと2つのクエリを作って、その「同じフィールド名」の
フィールドのデータを編集しようとしてみるとわかりますが、
1側の方を表示対象にすると、そのフィールドは編集できません。
(編集しようとすると、ビープ音が鳴り、画面下のステータスバーに「1側の
 レコードと対応するものがなくなります」との説明が表示されます)

多側の方が表示対象にしておけば、そのフィールドの編集が可能です。

ex)
 ・クラスリスト;
  クラスID(主キー),クラス名
 ・生徒名簿;
  クラスID,生徒名

上記のようなテーブルがあって、「生徒名、クラスID、クラス名」を表示させる
クエリを作ったとします。

このとき、「クラスID」を多側の「生徒名簿」から引っ張ってくれば、生徒の所属
クラスが間違っていたときには「クラスID」を編集することで訂正できます。
(「クラス名」は自動的に変わります)
一方、1側の「クラスリスト」側から「クラスID」を引っ張ってきた場合、生徒の所属
クラスが間違っていても、そのクエリからは修正することができません。

投稿日時 - 2007-01-16 20:59:55

補足

ありがとうございます。

つまり、整合性を保つ為に 「多」側から
持ってくるということですね。

投稿日時 - 2007-01-17 09:25:51

お礼

ありがとうございました。

投稿日時 - 2007-01-17 18:58:23

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

1側をA、多側をBとしたとき
BがAを参照するという形になります

この2つでクエリを作る場合はBが主となり
(Aが主となるクエリはAのみで作ります)
BにないフィールドだけAから借りてくると考えればいいのでは

つまり両方にあるものはBから持ってくるのです

投稿日時 - 2007-01-16 19:34:53

あなたにオススメの質問