アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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では実行できないのでしょうか?

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

A 回答 (2件)

考え方が間違っています。


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")
    • good
    • 0

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



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

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

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