适用于:Access 2013、Office 2013
使用 BOF 和 EOF 属性,可以确定 Recordset 对象是否包含记录,或者在记录之间移动时是否超出了 Recordset 对象的限制。 将 BOF 和 EOF 视为位于 Recordset 开头和末尾的“幻影”记录。 基于检查数据的示例 Recordset 构建的对象如下所示:
ProductID |
ProductName |
UnitPrice |
|---|---|---|
BOF |
|
|
7 |
Uncle Bob's Organic Dried Pears |
30.0000 |
14 |
豆腐 |
23.2500 |
28 |
Rssle Sauerkraut |
45.6000 |
51 |
Manjimup Dried Apples |
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 ,而 Recordset 对象的 RecordCount 属性设置的值取决于游标的类型。 对于动态游标,将返回 -1 (CursorType = adOpenDynamic) 对于其他游标将返回 0。
如果打开至少包含一个记录的 Recordset 对象,则第一个记录是当前记录, BOF 和 EOF 属性均为 False 。
如果删除 Recordset 对象中最后一个剩余的记录,则游标将保留在未定状态。 BOF 和 EOF 属性可能一直保留在 False,直到您尝试重新定位当前的记录,具体情况取决于提供程序。