レコードを移動する

レコードを移動する

Sub レコード移動1()
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, adOpenForwardOnly

'フィールドの値を転記する
For i = 1 To 5
  Cells(i, 1).Value = myRS!社員ID
  Cells(i, 2).Value = myRS!氏名
  Cells(i, 3).Value = myRS!年齢
  Cells(i, 4).Value = myRS!所属
  myRS.MoveNext   'カレントレコードを次に移動
Next

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

End Sub

「社員」テーブル

実行結果

メソッド 内容
MoveNext カレントレコードを次へ移す
MovePrevious カレントレコード1つ前へ移す
MoveFirst 先頭レコードへ移動
MoveLast 最終レコードへ移動

MovePrevious
メソッドを使用してカレントレコードを後ろ方向に移動させる場合は、Recordset

エラーとなる例
myRS.open "テーブル",myCon , adOpenForwardOnly
***
myRS.MovePrevious

エラーとならない例
myRS.open "テーブル",myCon , adOpenStatic
***
myRS.MovePrevious