レコードの追加・削除を行う

レコードを削除する

Sub レコード削除()
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String, i As Integer
'追加内容を配列で指定して保存
FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
myRS.Open "アルバイト", myCon, adOpenDynamic, adLockPessimistic

'カレントレコード(先頭レコード)削除
myRS.Delete

'カレントレコードを次のレコードへ移動
myRS.MoveNext

'カレントレコード(先頭レコード)削除
myRS.Delete

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub

構文配列を使用して新規レコードを追加する
Recordset オブジェクト.Delete AffectRecords

引数「AffectRecords」に何も指定しないと、カレントレコードが削除される。

「アルバイト」テーブル

実行結果

Delete



MoveNext
Delete






Delete メソッド実行直後にはレコードの移動は行われない。
このため、MoveNext メソッドでレコードを移動して、2番目のレコードを削除している。

先頭レコード削除後「MoveFirst」メソッドを使用しても、エラーは発生しない。
元のレコードが削除されたことにより、有効なレコードにはカウントされなくなる。