このエントリーをはてなブックマークに追加このエントリをつぶやく

Access : 参照整合性を設定しようとしたらエラーになるとき

2014年 10月 17日 Access Tips

アクセスセミナーはこちら
アクセスのTipsはこちら
無料セミナーはこちら
開発のご依頼はこちら

 

既存のレコードに、整合性が取れないデータがないかを確認します

「参照整合性」を設定するリレーションシップを作成すると、連結するテーブル同士のデータの参照関係に矛盾が起きるのを防ぐことができます。

たとえば、「商品マスター」テーブルの「商品コード」フィールド(主キー)と、「売上明細」テーブルの「商品コード」フィールドでリレーションシップを作成し、参照整合性を設定すると、商品マスターの商品コードに存在しないデータは、売上明細の商品コードに入力することはできません。

たとえば、商品マスターの商品コードに、「A01」「B01」というデータが入力されているときに、売上明細の商品コードに「A01」「B01」は入力できますが、「C01」というようなデータは入力できません。

テーブルにレコードが入力されていないときに参照整合性を設定するには、問題はありませんが、すでにレコードが保存されているテーブル同士をリレーションシップを作成し、参照整合性を設定しようしたときには、矛盾が起きていることがあります。つまり、前述の例で、商品マスターの商品コードに「C01」が存在しないのに、売上明細の商品コードに「C01」があるような場合、次のようなメッセージが表示されて、参照整合性を設定できません。

163_access_01

このようなときは、参照整合性のチェックは外してリレーションシップを作成しておき、矛盾を起こしているデータがないか、前述の例では、売上明細の商品コードだけにしか存在しないデータがないかを確認します。

アクセスセミナーはこちら
アクセスのTipsはこちら
無料セミナーはこちら
開発のご依頼はこちら

このエントリーをはてなブックマークに追加このエントリをつぶやく

月別アーカイブTopics別アーカイブ