• ベストアンサー

リレーションシップで一対多となる条件

今Access2000を使っているのですが、 リレーションを組む際に、一対一と一対多になる違いを教えてください。 リレーションを組みたいのは、 主テーブルの主キー[登録CD]テキスト型 リレーションテーブル [登録CD]テキスト型 このテーブルの主キーはオートナンバーで[NO]としています いつも通りに作ってハズなのですが、 リレーションを組むと自動的に一対一になってしまいます。 リレーションテーブルになるためにフィールド数の制限などがあるのでしょうか? 宜しくお願いします。

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

  • ベストアンサー
  • BellBell
  • ベストアンサー率54% (327/598)
回答No.1

ちょっと試した結果ですが、主テーブル(1)からリレーションテーブル(多)にリレーションをドラッグしてやるときと、逆とで動作が変わるように見えます。 詳細を詰めていないため、当方の勘違いかも知れません。 あと、可能性があるのは、リレーションテーブルの[登録CD]のフィールドのプロパティが、重複を許可しない設定にしていると、確実に1対1にしかならないでしょう。 フィールドのプロパティを確認してみてください。 (空白文字の許可、NULLを許可などでも動作が変わる可能性は否定できません。) フィールド数の制限は特に聞いたことは無いですが、どう見てもフィールド数に問題がある設計(例えばテーブル内にフィールドを数十個作成しているなど)の場合、Accessの制限やバグに掛かる可能性はあるかも知れません。

minamihe
質問者

お礼

すばやいお返事ありがとうございます☆ 登録CDのフィールドを数値型にして 主キー側を重複なし リレーション側を重複ありにしましたら、 解決できました。 ありがとうございました☆