フィールドの連鎖更新

リレーションシップでは連鎖更新の設定を行うことができます。ここでは Access でリレーションシップでフィールドの連鎖更新を設定する方法について解説します。

(Last modified: )

フィールドの連鎖更新

参照整合性が設定されている場合、一側テーブルに含まれるレコードが更新されると多側テーブルのフィールドに登録されているデータに不整合が発生する場合があります。例えば一側テーブルである「社員テーブル」のレコードの中のリレーションシップが設定されたフィールドのデータが更新された時、多側テーブルのレコードの中で更新前のデータが登録されていたレコードは一側テーブルに存在しないデータが登録されていることになってしまいます。

ではリレーションシップが設定されている一側テーブルのレコードを更新してみます。

フィールドの連鎖更新

フィールドの連鎖更新

すると次のようなエラーが表示されます。

フィールドの連鎖更新

ここでリレーションシップの設定項目の1つである「フィールドの連鎖更新」が設定されていると、一側テーブルのレコードを更新するとに、多側テーブルのレコードの中で該当のデータが登録されているレコードのデータを合わせて更新することが出来ます。

それではフィールドの連鎖更新を設定してみます。リレーションシップの詳細設定画面を表示して下さい。(リレーションシップの詳細画面の表示方法は『リレーションシップ設定画面の表示』を参照して下さい)。

参照性合成

画面下部に「フィールドの連鎖更新」と書かれたチェックボックスがありますので、チェックを行って下さい。(「参照整合性」にチェックが入っていないとチェックが行えません)。

参照性合成

「OK」ボタンをクリックすると設定は完了です。

それでは改めてデータの更新を行ってみます。変更前のテーブルは次のようになっています。

フィールドの連鎖更新

フィールドの連鎖更新

では一側テーブルである「社員テーブル」の該当フィールドの値を変更してみます。

フィールドの連鎖更新

今度はエラーが発生せず更新が行えました。では多側テーブルである「顧客情報テーブル」を確認してみます。

フィールドの連鎖更新

一側テーブルで更新されたデータが含まれていたレコードは、該当のフィールドの値が自動的に変更されています。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。