0

レコードセットでこのようなクエリは機能しますか

rs.open "select * from table where vd = 1; update table set vd1 = 1 where vd = 2 or vd = 3;"

または何か問題がありますか

ありがとう

4

2 に答える 2

0

それは機能しません-あなたはそれらを別々のコマンドとして実行する必要があります

おそらく、レコードセットとして宣言しているので、それを使用してステートメントの結果rsを返すことができます。SELECT

SQLコマンドを使用して2番目のステートメントを実行します。

于 2008-12-03T09:49:18.880 に答える
0

レコードセットは、単一の SELECT ステートメントでのみ定義できます (ただし、同じ数の列がある場合は、もちろん、複数の選択を UNION できます)。

アクション SQL (INSERT、UPDATE、DELETE) は、レコードセットでは実行できませんが、.Execute メソッドを使用して実行できます。

ADO を使用している場合、.Execute は SELECT (行を返す) にも使用できますが、Jet のネイティブ データ インターフェイス レイヤーである DAO は使用できません。.Execute はアクション クエリに対してのみ機能します。これは理にかなっているように思えますが、個人的には、ADO は常に時間の無駄のように思えてきました。

また、Jet (Access でデフォルトで使用される db エンジン) は、多くのサーバーベースの db エンジンとは異なり、一度に複数の SQL ステートメントを実行できません。これは、SQL ステートメントのバッチ処理に慣れている人にとってはそれほど大きな制限ではありません。違いがあるだけです。

于 2008-12-05T03:57:53.940 に答える