Поделиться через


Ограничения набора записей

Область применения: Access 2013, Office 2013

Используйте свойства BOF и EOF , чтобы определить, содержит ли объект Recordset записи записи или вы вышли за пределы объекта Recordset при переходе от записи к записи. Думайте о BOF и EOF как о "фантомных" записях, которые расположены в начале и конце набора записей. Основываясь на примере набора записей из исследования данных, он будет выглядеть следующим образом:

Productid

ProductName

UnitPrice

BOF



7

Органические сушеные груши дяди Боба

30.0000

14

Тофу

23.2500

28

Rssle Sauerkraut

45.6000

51

Манджимуп сушеные яблоки

53.0000

74

Longlife Tofu

10.0000

EOF



Свойство BOF возвращает значение True (–1), если текущая позиция записи находится перед первой записью, и False (0), если текущая позиция записи находится в первой записи или после нее.

Свойство EOF возвращает значение True , если текущая позиция записи находится после последней записи, и False , если текущая позиция записи находится на последней записи или до нее.

Если свойство BOF или EOF имеет значение True, текущая запись отсутствует, как показано в следующем коде:

 
If oRs.BOF And oRs.EOF Then 
 ' Command returned no records. 
End If 

Если открыть объект Recordset, не содержащий записей, свойства BOF и EOF имеют значение True, а значение свойства RecordCount объекта Recordset зависит от типа курсора. -1 будет возвращено для динамических курсоров (CursorType = adOpenDynamic), а 0 — для других курсоров.

При открытии объекта Recordset , содержащего по крайней мере одну запись, первой записью будет текущая запись, а свойства BOF и EOFFalse.

При удалении последней оставшейся записи в объекте Recordset курсор остается в неопределенном состоянии. Свойства BOF и EOF могут оставаться false до тех пор, пока вы не попытаелись изменить положение текущей записи в зависимости от поставщика.