BOF、EOF 属性 (ADO)
适用于:Access 2013、Office 2013
BOF 指示当前记录位置在 Recordset 对象中的第一条记录之前。
EOF 指示当前记录位置在 Recordset 对象中的最后一条记录之后。
返回值
BOF 和 EOF 属性将返回 Boolean 值。
备注
使用 BOF 和 EOF 属性可以确定 Recordset 对象是否包含记录,或确定在从一条记录移动到另一条记录时是否超出了 Recordset 对象的限制。
如果当前记录位于第一个记录之前,则 BOF 属性返回 True (-1),如果当前记录就是第一个记录或者位于第一个记录之后,则返回 False (0)。
如果当前记录位于最后一个记录之后,则 EOF 属性返回 True ,如果当前记录就是最后一个记录或者位于最后一个记录之前,则返回 False 。
如果 BOF 或 EOF 属性为 True,则没有当前记录。
如果打开不包含任何记录的 Recordset 对象,BOF 和 EOF 属性都会设置为 True(有关 Recordset 的此状态的详细信息,请参阅 RecordCount 属性)。 当打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,且 BOF 和 EOF 属性均为 False。
如果删除了 Recordset 对象中剩下的最后一条记录,则在尝试重新定位当前记录之前, BOF 和 EOF 属性都会保持为 False。
下表显示了在使用不同的 BOF 和 EOF 属性组合时允许的 Move 方法。
MoveFirst、 |
MovePrevious、 |
|
MoveNext、 |
|
---|---|---|---|---|
BOF=True、 |
Allowed |
错误 |
错误 |
允许 |
BOF=False、 |
允许 |
Allowed |
错误 |
错误 |
均为 True |
错误 |
错误 |
错误 |
错误 |
均为 False |
Allowed |
Allowed |
Allowed |
允许 |
允许某个 Move 方法并不保证该方法将成功地定位到一条记录;这仅意味着调用指定的 Move 方法不会生成错误。
下表显示了在调用各种 Move 方法但不能成功定位到记录时,BOF 和 EOF 属性的设置会发生什么变化。
BOF |
EOF |
|
---|---|---|
MoveFirst、MoveLast |
设置为 True |
设置为 True |
Move 0 |
无变化 |
无变化 |
MovePrevious、 Move< 0 |
设置为 True |
无变化 |
MoveNext、 Move> 0 |
无变化 |
设置为 True |