重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

テーブルAとテーブルBでリレーションシップを組んでいて
紐づいてる値をどちらとも同じ変更したいのですが、
テーブルAの値を変更しようとすると、

テーブル’テーブルB’にリレーションシップが設定されたレコードが必要なので、
レコードの追加や変更を行うことはできません。

と表示され、
だったら先に、テーブルBの値を変更しようとすると、

テーブル’テーブルA’にリレーションシップが設定されたレコードが必要なので、
レコードの追加や変更を行うことはできません。

となってしまいます。

どちらも同じ値に変更したいのですが、どうすればよろしいでしょうか?

テーブルAとテーブルBは一対多で参照整合性にチェックがついて紐づいています。

A 回答 (2件)

「フィールドの連鎖更新」にチェックを入れておけば


1:多 の1側(テーブルA)の変更ができるようになります。
それに追随してテーブルBが変更されます。
テーブル設計にも関連しますが、↓はよく読んでおかれることをお勧めします。
テーブルのリレーションシップの概要
http://office.microsoft.com/ja-jp/access-help/HA …
    • good
    • 0
この回答へのお礼

「フィールドの連鎖更新」
とはこのための機能なのですね。

お礼日時:2013/05/13 19:38

少なくともリレーションのキーである値は変更が出来ませんので、


・一旦リレーションを解除して値を変更した後に戻す
・新しい値でマスタテーブルのレコードを作成→紐づいたテーブルのキーを変更→不要ならマスタの旧データーを削除
のどちらでしょうか。

キーとなる値は基本的に変更のないように設計すべきです。
    • good
    • 0
この回答へのお礼

とりあえず
「一旦リレーションを解除して値を変更した後に戻す」
の方法で対応しました

「キーとなる値は基本的に変更のないように設計すべきです」
そうなのですか、知りませんでした。
勉強になりました。

お礼日時:2013/05/13 19:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!