• ベストアンサー

テーブルの一部を別のテーブルを使って更新したい

テーブルA…[住所]、[氏名]、[電話番号]、[携帯番号]、[変更日] テーブルB…[氏名]、[自宅電話・携帯番号]、[変更日] Bの[氏名]と[自宅電話・携帯番号]が、Aの[氏名]と[電話番号]、[携帯番号]に一致した場合、Aの[変更日]がBの[変更日]に更新されるようにしたいです。 以前、似たような質問で回答して頂いたのですが、条件が二つになり指定方法が上手くいかなくなってしまいました。 お手数お掛けしますが回答宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

UPDATE TBL_B INNER JOIN TBL_A ON ((TBL_B.自宅電話・携帯番号=TBL_A.携帯番号) Or (TBL_B.自宅電話・携帯番号=TBL_A.電話番号)) AND (TBL_B.氏名=TBL_A.氏名) SET TBL_B.変更日 = TBL_A.変更日; こんな感じかな?SQLビューでしか編集できません。 一応検証はしましたが自信が無いので、 バックアップを取って実行し、検証もしつこい位に行ってください。 当方Access2002

kumafukuro
質問者

お礼

できました! 回答ありがとうございました。 ただ、更新したいテーブルはAなので、1行目と2行目のAとBを入れ替えました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.2

No.1です 訂正します 『電話番号』を → 『電話番号』で 『携帯番号』を → 『携帯番号』で よろしくお願いします。

すると、全ての回答が全文表示されます。
  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

質問の回答にならないかも知れませんが、 1つの更新クエリで処理をせずに『電話番号』を更新するクエリと 『携帯番号』を更新するクエリの2つをつくり、 マクロで動かしてはいかがでしょうか

kumafukuro
質問者

お礼

回答ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A