Accessでお仕事 連鎖更新または連鎖削除を使用する

連鎖更新または連鎖削除を使用する

読み取り専用が設定されているリレーションシップでは、関連付けられているレコードに対して自動的に連鎖更新および連鎖削除を行うかどうかを指定できます。これらのオプションを設定すると、参照整合性の規則により通常は行うことができない削除操作および更新操作を行うことができます。レコードを削除したり、主テーブルの主キーの値を変更すると、自動的に関連テーブルの内容が変更され、参照整合性が保たれます。

リレーションシップを定義するときに、[フィールドの連鎖更新] チェック ボックスをオンにして、主テーブルの主キー フィールドの値を変更すると、関連するテーブルの対応するレコードが新しい値に自動的に更新されます。たとえば、[得意先] テーブルの [得意先コード] を変更すると、[受注] テーブルの [得意先名] フィールドが自動的に更新され、リレーションが破損することはありません。メッセージが表示されることなく、連鎖更新が行われます。

メモ   主テーブルの主キーが、オートナンバー型フィールドである場合、オートナンバー型フィールドでは値の変更ができないので、[フィールドの連鎖更新] チェック ボックスをオンにしても効果はありません。

リレーションシップを定義しているときに、[レコードの連鎖削除] チェック ボックスをオンにして、主テーブルに主キー フィールドの値を削除すると、関連するテーブルの対応するレコードの値が自動的に削除されます。たとえば、[得意先] テーブルの [得意先名] レコードを削除すると、[受注] テーブルからその得意先のすべての受注が自動的に削除されます。また同様に、受注レコードに関連付けられている [受注明細] テーブルのレコードも含まれます。[レコードの連鎖削除] チェック ボックスをオンにして、フォームまたはデータシートからレコードを削除すると、関連するテーブルの対応するレコードも削除されるというメッセージが表示されます。ただし、削除クエリを使用してレコードを削除すると、メッセージは表示されずに、関連するテーブルの対応するレコードが自動的に削除されます。

既存のリレーションシップの編集方法と参照整合性の設定方法の詳細については、 をクリックしてください。

新しいリレーションシップの定義方法の詳細については、 をクリックしてください。