VBA ADODB.Recordsetでエラー「3219 このコンテキストで操作は許可されてません」が発生した場合の対処法
VBAで、ADODB.Recordsetを利用時にエラー「3219 このコンテキストで操作は許可されてません」が発生した場合の対処法を記述してます。
環境
- OS windows10 64bit
エラー全文
以下のコードで発生
Set adoRs = CreateObject("ADODB.Recordset") 'ADOレコードセットオブジェクト
i = 1
With adoRs
.Open "Test", adoCn, 1, 3 'レコードセットを開く(1:キーセットカーソル 3:レコードごとの共有的ロック)
Do While Cells(i, 1).Value <> ""
.AddNew
!ID = Cells(i, 1).Value
!Name = Cells(i, 2).Value
i = i + 1
Loop
.Close 'レコードセットのクローズ
End With
' レコードセットのクローズ
If Not adoRs Is Nothing Then
If adoRs.State = 1 Then adoRs.Close ' 開かれていればクローズ
Set adoRs = Nothing
End If
エラー
原因
「.Update」をしていなかったため
対処法
以下のように「 .Update 」を使用する
Do While Cells(i, 1).Value <> ""
.AddNew
!ID = Cells(i, 1).Value
!Name = Cells(i, 2).Value
.Update
i = i + 1
Loop
-
前の記事
MariaDB 各テーブルごとのレコード数を抽出する 2022.10.02
-
次の記事
javascript Set内に指定した配列が含まれているか判定する 2022.10.03
コメントを書く