adoのループについて カレントレコードについて
adoのFor i = 1 To rs.RecordCountについて質問があります。
Sub test()
Dim i As Long
Dim MyFileName As String
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
MyFileName = CurrentProject.FullName
cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;" & "Data Source= " & MyFileName
rs.Open "Tテーブル", cn, adOpenKeyset, adLockOptimistic
For i = 1 To rs.RecordCount
Debug.Print rs.Fields(0).Value
rs.MoveNext
Next
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
End Sub
これを実行した時に、テーブルには、1,2,3・・・という値が入っていて、
イミディエイドウインドウにも1,2,3・・・と順番に取得されるのですが、
For i = 1 To rs.RecordCountを実行した時は、強制的にrs.MoveFirstされるのでしょうか?
For i = 1 To rs.RecordCount
rs.MoveFirst
Debug.Print rs.Fields(0).Value
rs.MoveNext
Next
これと同じ意味なのでしょうか?
RecordCount プロパティ (ADO) のヘルプを見ましたが、この件に関する記述は探せませんでした。
ご回答よろしくお願いします。
お礼
回答頂きありがとうございました。