Microsoft Access Club >AccessTips >このページ >次頁 < 前項  サイト内検索


リレーション設定時の「参照整合性エラー」の事例:AccessTips091



リレーションの設定を行なう際、リレーションを解説した書籍のアドバイスでは、参照整合性 機能を有効にすべきと記載されていることが多いですが、有効のチェックを入れてリレーション作成ボタンをクリックすると、下記のようなエラーメッセージが表示されて困ってしまうことがあります 。

これは、これらテーブル間で参照整合性は設定できません、という通知メッセージです。しかし、リレーションの醍醐味は、この参照整合性 機能を利用することにありますから、このままではいけません。今回、これを回避する方法をご紹介します。

再現

tbl_1テーブルの商品Noフィールドと、tbl_多テーブルの商品IDフィールド、間で1対多のリレーション設定を行います。

  1. 1側のテーブルのテーブルは以下のようになっています。

  1. 多側のテーブルのテーブルは以下のようになっています。

  1. 商品Noフィールドと商品IDフィールド間で1対多のリレーションが設定されています。

  1. この場合、以下のメッセージが表示されます。

参照整合性に違反しています。関連するレコードが主テーブルにあるようにしてください。

メッセージが表示される事由

多側の商品IDフィールド入力済みデータ 5 が存在し、そして 5 は1側の商品Noフィールドには存在しません。1対多のリレーションの場合、多側のデータは全て1側のデータにあるものでないと参照整合性を 有効に設定できません。なお、参照設定を有効にできませんが、リレーション設定は行えます。

解決

これを解決するためには、以下のいずれかの方法をとります。

  1. 1側テーブルの商品Noフィールドに 5 を追加する。
  2. 多側テーブルの商品IDフィールドから 5 を削除する。
  3. 参照整合性を無効にする。

関連ページ

2003/03/31

ページの先頭へ 前ページへ戻る

 


リレーション設定時の「参照整合性エラー」の事例:AccessTips091


 

-Microsoft Access Club-