こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBSでクエリを実行→クエリでテーブルが作れない

いつも大変お世話になっております。

VBSで、
cn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\Users\test1.mdb;"
rs.Open "test1", cn

こんなかんじでtest1クエリを実施しました。

test1クエリ内では、
select user into sinkitable where user >1 and xxxx
というように、テーブルを作っています。

これを実行すると、select, update,insert,xxxしか使えません

といったエラーがでます。

クエリでテーブルを作成すると、VBSでは実行できないのでしょうか?

初歩的で申し訳ありませんが、教えてください

投稿日時 - 2010-12-27 12:51:34

QNo.6410112

すぐに回答ほしいです

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

考え方が間違っています。
cnはおそらくADBDBのConnectionオブジェクトでは
ないかと思います。rsは同様にRecordsetと推察
します。SELECT INTOを始め、更新系のSQLは
レコードセットを返しませんので、rsは使いません。
>test1クエリ内では
レコードセットはクエリの実行結果ですから、内容を
見るだけで、ここから別のSQLを実行すると言うのは
考えられないことです。

INSERT INTO を使う場合は以下のようにします。
cn.Execute "SELECT user INTO sinkitable FROM test1 WHERE ~"

>rs.Open "test1", cn
これでもAccessなら動くのですが、他のDBシステム
ではダメなので、以下のように書くべきでしょう。
Set rc = cn.Execute("SELECT * FROM test1")

投稿日時 - 2010-12-27 13:51:23

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

まずは、構文が正しいか見直す。

投稿のためFROMは省略したのかと思いますが。

構文が正しいなら更新できるか確認。

投稿日時 - 2010-12-27 13:12:36

あなたにオススメの質問