dポイントプレゼントキャンペーン実施中!

あるテーブルのレコードを、別のテーブルのレコードで更新したいです。具体的には、

二つのテーブルは同じフィールドを持っています。
フィールド名はID、名前、住所、電話で構成されています。

テーブルA
 001 山田 東京 123456
 002 田口 千葉 234567
 003 鈴木 埼玉 345678
 004 斉藤 佐賀 456789
 005 上野 大阪 567890
テーブルB
 003 鈴木 長野 345678
 004 斉藤 佐賀 890123
 008 野口 京都 090909

テーブルAとBでIDが一致するレコードだけテーブルAのレコード
をそっくり入れ替えるにはどうしたらいいでしょうか。
この場合、003と004のレコードだけ更新します。

テーブルAのIDは主キーでオートナンバー型になっています。

A 回答 (4件)

No1No3です。


すみません。訂正します。
自動ではフィールド名 入りませんでした。
[テーブルB!氏名] と手入力しかないみたいです。
前回 過去に一度作った更新クエリでクエリの種類変更したら
変更前を覚えているのか自動ででましたが新規に作ってみたら
出ませんでした。すみませんです。
    • good
    • 1

No1です。


先ほど確認してみましたが、
テーブルAとテーブルBで更新したいフィールドの名前が同じであれば
選択クエリを更新クエリに変更した時点で自動で名前が入りました。
それ以外では、手入力しかないと思います。
テーブルA!氏名 と テーブル名とフィールド名の間に!マークで区切ります。
    • good
    • 0
この回答へのお礼

再確認ありがとうございます。

試してみましたが、更新クエリに変更するだけでは自動的には
入りませんでした。もしかしてバージョンが違うのでしょうか。
こちらはACCESS2003です。
もし同じであれば根本的にやりかたが違うのでしょうか。

私は、選択クエリのデザインビューで、ID同士を結合し、
結合プロパティで「両方のテーブルが同じ行を含める」にして、
「フィールド」欄にテーブルAのフィールドを全てドラッグし、
クエリの種類を更新に変えます。でも、「レコードの更新」欄
には何も入りません。

お礼日時:2008/07/09 22:31

こんなの更新クエリの基本的な例題ではないですか。


ここに質問する前に、アクセスの本やWEBで勉強し、やってみて、行き詰まった点について質問のこと。
    • good
    • 0

更新クエリについて調べてみてください。


手順ですが
1 選択クエリの作成
  テーブルAとテーブルBのIDでリレーション結合して
  リレーションのプロパティでIDが一致するテーブルAが選択できる
  クエリを作成します。
2 更新クエリに変更する
  作成したクエリを右クリックしてクエリの種類を更新クエリに変更
  レコードの更新にテーブルBのフィールドを記載します。
3 作成した更新クエリを実行します。

失敗したときの為にファイルをコピーしておいて下さい。
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございます。
ACCESS初心者で本を読んでも分からないレベルです。
もう少しお付き合いいただけると助かります。

>2 更新クエリに変更する
>  作成したクエリを右クリックしてクエリの種類を更新クエリに変更
>  レコードの更新にテーブルBのフィールドを記載します。
→ここの部分ですが、テーブルのフィールド数は実際には30くらいあって、全部を記載するのは大変です。
やはり、1つずつ記載する方法しか無いのでしょうか。

お礼日時:2008/07/06 18:12

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