テーブル1にテーブル2の内容をすべて追加しようと思います。
二つのテーブルのフィールド項目は同じにしました。(テストなのでとりあえず番号と名前)
マクロを使ってやろうと思い、アクションを「SQLの実行」とし、SQLステートメント
には「INSERT INTO <テーブル1> SELECT<社員番号>,<名前>FROM<テーブル2>」
としました。
しかし、マクロを実行してみると「INSERT INTO 構文エラー」となってしまいます。
なぜなんでしょうか?

A 回答 (4件)

フォームのボタンを押したらテーブル2のレコードをテーブル1に追加したい場合、ボタンのアクションを直接「クエリーの実行」にして、テーブル2を元にした追加クエリーを作成するのが一番早いです。

マクロやVBAモジュールを使用する必要は特にありませんし、逆に動作が遅くなる事もあります。
    • good
    • 0

SQLステートメントを使用してすべてのフィールドおよびレコードをテーブル2からテーブル1へ追加するのであれば、



INSERT INTO テーブル1 SELECT * FROM テーブル2;

と書けば可能なはずです。
また、フィールドを指定する場合には

INSERT INTO テーブル1 SELECT テーブル2.社員番号,テーブル2.名前 FROM テーブル2;

か、

INSERT INTO テーブル1 (社員番号,名前) SELECT テーブル2.社員番号,テーブル2.名前 FROM テーブル2;

と書けば可能なはずです。
宜しければ試してみてください。
    • good
    • 0

素直に追加クエリーを書くほうが良いとは思いますが...



追加クエリーの作り方
1.クエリーを新規作成します。
  この時選択するテーブルはテーブル2
2.クエリーの種類を"追加"に変更します。
  メニューの「クエリー」-「追加」
3.追加先テーブルにテーブル1を指定します。

4.追加したいフィールドを選択します。

あとはこのクエリーを「!」で実行すれば追加可能です。

ただ、
insert into table1 select * from table2
または
insert into table1 (col1,col2,...) select col1,col2,... from table2
のクエリーで追加は出来るはずです。
    • good
    • 0

同じ内容にしたいのなら、単にコピー&ペーストじゃダメなんでしょうか。


テーブルごとも出来ると思うし、フィールド選択でも出来ると思いますが。

この回答への補足

フォームからコマンドボタンをクリックするとテーブルが追加されるというふうにしたいのです。
VBAで書こうと思ったのですが、初心者なのでわからないことが多すぎます。
だから、マクロやクエリでできないのかなと思ってやってみてます。
できることならVBAでやってはみたいのですが・・・。

補足日時:2001/06/21 12:56
    • good
    • 0

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

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報