RecordSet
Если создан объект RecordSet, то можно получить доступ к записям и их полям с помощью нескольких методов и свойств, идентичных методам и свойствам объекта RecordSet DAO. Количество возвращенных записей хранится в свойстве RecordCount, принимающем правильное значение только при перемещении на последнюю запись. Для RecordSet типа Forward-Only нельзя просто получить количество записей. Необходимо просканировать и обработать их все. При иных типах RecordSet можно переместиться с помощью метода MoveLast на последнюю запись, а затем вернуться к первой записи, используя метод MoveFirst. После этого для получения количества строк в объекте RecordSet можно использовать свойство RecordCount. Конечно, этот метод не будет работать с RecordSet типа Forward-Only.

Доступ к индивидуальным значениям полей в строке получают с помощью семейства Fields. Количество колонок в объекте RecordSet находится в свойстве Fields Count. К каждому из полей в текущей строке можно адресоваться с помощью индекса (это порядковый номер поля в SQL-выражении) или по его имени. Например, если используется SQL-выражение,
SELECT ProductName, ProductID FROM Products
то можно получить доступ к именам товаров в текущей записи с помощью выражений двух видов:
RecSet.Fields(0).Value
или
RecSet.Fields ("ProductName") .Value
(Можно опустить Value, как свойство, установленное по умолчанию для семейства Fields.)
Для сканирования объекта RecordSet используйте методы Move (MoveFirst, MoveLast, MovePrevious и MoveNext). В дополнение к методам навигации, объект RecordSet содержит метод AbsolutePosition,
который указывает на позицию текущей записи в объекте RecordSet.
Для сканирования RecordSet можно использовать цикл:
For Each rec In RecSet
{обработка текущей записи}
Next
или следующий фрагмент с циклом For...Next
RecSet.MoveLast
AllRecs = RecSet.RecordCount
RecSet.Move First
For i = 1 To AllRecs
{обработка текущей записи}
RecSet.MoveNext
Next
Похожий цикл используется для сканирования колонок