• 締切済み

Accessクエリのフィールドについて

クエリの作成で、2つのテーブルからフィールドに追加する時ですが、 会員IDなど 一側にも多側にも両方ある場合、解説書などを見ると、 「必ず、多側テーブルのフィールド(主キー設定されていない方のフィールド)を追加するように」と書かれているのですが、その理由がわかりません。 どちらからとっても結果は同じように思うのですが。。。ご存知の方いらっしゃったらよろしくお願いいたします。

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

基本的にいえば一側はマスター的なテーブル、多側は詳細レコードテーブルです。 一側の項目を変更する場合は多側のすべてのデータが変わります。 多側の項目を変更する場合は一側のデータには影響しません。 もちろん、すべての内容が変わっていいなら問題ありませんが 一側のフィールドの場合「いちご」を選ぶつもりで間違えて「りんご」を選ぶともう変更できなくなります。 ※変更すると他のりんごのデータもいちごに変わります。削除するとりんごのデータすべてが消えます。 ですので、入力・変更・削除のある場合は、多側のフィールドを選択するのが常識です。 もっとも、表示・印刷だけのクエリならどちらでもかまいません。

  • sutead_02
  • ベストアンサー率46% (26/56)
回答No.1

ちょっと自信ないのですが、重複した値を許可しているフィールドかどうかの問題では? 一般的には一側のテーブルが会員名簿などだと、IDは重複しないように入力してありますよね。 それに比して多側のテーブルなどは、IDのフィールドでも主キーは別のフィールドにあって、IDは重複して入力できるようになっているはず。 クエリで重複できないフィールドを持ってきても、フィールド名だけ表示され、レコードが表示されない場合の原因はたいがい抽出条件のフィールドが重複不可になっていることにあるようです。

関連するQ&A