初歩的な質問かもしれませんが・・・
ACCESS2003VBAでADOを用いて削除を実行しようとしているのですがエラー(エラーは「オーバーフローしました」です。)が出て実行できません。
ソースは以下の通りです。
Dim strSQL As String
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
strSQL = " DELETE FROM D_TB"
rs.Open strSQL, cn, , adOpenStatic, adLockOptimistic '←ここでエラー
Do Until rs.EOF
rs.Delete
rs.MoveNext
Loop
rs.Close
cn.Close
どこがおかしいのでしょうか?
大変困っています。教えてください。よろしくお願いいたします。
私の場合はdb2.mdbに生徒Bと言うテーブルがあります。
そのフィールドの1つに県と言うフィールドがあります。
県フィールドが東京と言うレコードを削除します。
下記でうまく行きましたから参考に。
Sub test14()
Dim strSQL As String
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurDir & "\" & "\db2.mdb"
Dim rs As New ADODB.Recordset
strSQL = "DELETE FROM 生徒B WHERE 県='東京';"
rs.Open strSQL, cn, adOpenStatic, adLockOptimistic
'---確認
rs.Open "生徒B", cn, adOpenStatic, adLockPessimistic
Do Until rs.EOF
MsgBox rs.Fields(3)
rs.MoveNext
Loop
'---
rs.Close
Set cn = Nothing
End Sub
ーーー
#1、#2のご回答などもよく読んで勉強してください。
cnとrsや
rs.Open strSQL・・
と
rs.Open "生徒B",
などについて
違いの迷い(不十分な理解)があるようです。