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


連鎖更新、連鎖削除について:AccessTips058



今回は、リレーションの設定段階で現われるフィールドの連鎖更新とレコードの連鎖削除についてお話しします。

フィールドの連鎖更新

参照整合性を有効にした場合に選択することが可能になります。これを有効にすると、一側テーブルのデータを更新(値の変更)を行った場合、自動的に多側テーブル に保存してある値が連動して更新され ます。是非とも有効にしたいオプションです。

実例の紹介

下記のテーブルデータは、tbl_masterテーブルが 一側 テーブル 、tbl_sampleテーブルが 多側 テーブル です。

tbl_masterテーブルのデータ
 

商品ID

商品名

0001

カラーテレビ

0002

エアコン

0003

電子レンジ

0004

DVDプレーヤー

tbl_sampleテーブルのデータ
 

ID

購入日

商品ID

1

01/7/21

0001

2

01/7/22

0003

3

01/7/22

0004

4

01/7/23

0002

5

01/7/24

0004

tbl_masterテーブルの「商品ID」の値を、例えば 0001 を 0009 に変更すると、自動的にtbl_sampleテーブルの「ID」フィールドの「商品ID」フィールドのデータが変更されます。

tbl_masterテーブルのデータ
 

商品ID

商品名

0009

カラーテレビ

0002

エアコン

0003

電子レンジ

0004

DVDプレーヤー

tbl_sampleテーブルのデータ
 

ID

購入日

商品ID

1

01/7/21

0009

2

01/7/22

0003

3

01/7/22

0004

4

01/7/23

0002

5

01/7/24

0004

エラーメッセージ

フィールドの連鎖更新の設定を無効にしている場合、1側のテーブルデータを変更すると下記のエラーメッセージが表示されデータの更新が出来ません。

なお、多側テーブルであるtbl_sampleテーブルのデータは、設定の有無に かかわらず自由に更新できます。

フィールドの連鎖削除

参照整合性を有効にした場合に選択することが可能になります。

これを有効にすると、一側テーブルのデータを削除した場合、自動的に多側テーブルとリレーション関係にある全てのレコードが連動して削除され ます。

サンプル

tbl_masterテーブルの 0004/DVDプレーヤー を削除すると、tbl_sampleテーブルの連動しているレコードが全て削除されます。

tbl_masterテーブルのデータ
 

商品ID

商品名

0009

カラーテレビ

0002

エアコン

0003

電子レンジ

0004

DVDプレーヤー

tbl_sampleテーブルのデータ
 

ID

購入日

商品ID

1

01/7/21

0009

2

01/7/22

0003

3

01/7/22

0004

4

01/7/23

0002

5

01/7/24

0004

なお、これらオプション設定は、条件さえ合致すれば途中で変更することもできます。

 2001/07/31

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

 


連鎖更新、連鎖削除について:AccessTips058


 

-Microsoft Access Club-