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

二つのテーブル間(AとB)を追加クエリを使い
AからレコードをBに追加することは出来たんですが、
逆にBからAにレコードを追加しようと選択クエリを追加クエリに変更しようとしたんですが、ウィザードの追加先テーブル名にAのテーブル名が表れないですがその理由が全く分からないので分かる方教えていただけませんか?

AとBのレコード内のフィールドは同じです。
AからBにレコードを移行する処理としてマクロを使いアクションとして
・クエリを開く(これは追加クエリです)
・SQLの実行(上と同じクエリを削除クエリに変更し、そのSQL文をSOLステートメントに貼り付けました)
上の処理は問題なく出来たので逆のBからAへレコード移行処理のマクロを作ろうとしたのですが、追加クエリの追加先テーブルにテーブルAの名前が出てこないので困っています。こういったAからB。BからAという処理は追加クエリで出来ないのでしょうか?

A 回答 (1件)

アクセスのバージョンぐらいは書いたほうがいいと思います



> 二つのテーブル間(AとB)を追加クエリを使い
> AからレコードをBに追加することは出来たんですが、
> AとBのレコード内のフィールドは同じです。
追加クエリをコピーしてから、コピーした方を直接変更した方が早いですよ
クエリーの編集モードでSQLを直接表示しましょう

元はこんな感じになっている筈です
INSERT INTO テーブルB SELECT * FROM テーブルA

追加の際に条件を指定していると、こうなっているかもですね
INSERT INTO テーブルB SELECT * FROM テーブルA WHERE テーブルA.条件列=条件

後は片っ端から「テーブルA」→「テーブルB」とその逆を行います

> ういったAからB。BからAという処理は追加クエリで出来ないのでしょうか?
普通の表同士であれば出来る筈です
私は面倒なのでSQLを直接書いてしまいますが...
というかウィザードだと少しでも複雑な条件が入ってくると設定が面倒だし
速度的に問題が有りまくりのSQLしか生成しないし..
ウィザードを使うのは初心者の内だけだと思います
    • good
    • 0

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