宜しくお願いします
VB6.0でADOに接続してACCESSにデータを追加して
オブジェクトを閉じるとエラーになってしまう原因が知りたいです。
【詳細説明】
実行時エラー'3704'
オブジェクトが閉じてる場合は、操作は許可されません
デバッグすると
Recordset.Close でエラーになる。
しかし、直前で以下のようにOpenしています。
Recordset.Open strSQL, Connect, adOpenKeyset, adLockOptimistic
理由が分かりませんので、分かる方がいましたらよろしくお願い致します。
Recordset.Closeと Set Recordset = Nothingがなければ
処理は上手く終了します。
Private Sub
ADOのオブジェクト変数を宣言する
Dim Connect As New ADODB.Connection
Dim Recordset As New ADODB.Recordset
Dim strSQL As String
接続を確立する
Connect.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\temp1\db1.mdb;"
テーブル名を指定してレコードセットを作成する
strSQL = "INSERT INTO 社員マスタ(社員番号, 氏名)VALUES('009','田上')"
Recordset.Open strSQL, Connect, adOpenKeyset, adLockOptimistic
Recordset.Close
Set Recordset = Nothing
Connect.Close
Set Connect = Nothing
End Sub
Recordset オブジェクトは、カーソルを持つ結果すなわち SELECT クエリを受け取るためのものです。
INSERT/DELETE/UPDATE/CREATE/ALTER などを使うときは、Execute メソッドを利用してください。
魔界の仮面弁士様ありがとうございます。
>INSERT/DELETE/UPDATE/CREATE/ALTER などを使うときは、Execute メソッド
>を利用してください。
勉強になりました。
過去ログを調べたら同じ質問がありましたので以下を参考にしました。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200401/04010064.txt
今後もよろしくお願いします。
ツイート | ![]() |