レコードを削除する
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」メソッドを使用しても、エラーは発生しない。
元のレコードが削除されたことにより、有効なレコードにはカウントされなくなる。