BOF、EOF 属性 (ADO)

适用于:Access 2013、Office 2013

BOF — 指示当前记录位置在 Recordset 对象中的第一条记录之前。

EOF — 指示当前记录位置在 Recordset 对象中的最后一条记录之后。

返回值

BOFEOF 属性将返回 Boolean 值。

备注

使用 BOFEOF 属性可以确定 Recordset 对象是否包含记录,或确定在从一条记录移动到另一条记录时是否超出了 Recordset 对象的限制。

如果当前记录位于第一个记录之前,则 BOF 属性返回 True (-1),如果当前记录就是第一个记录或者位于第一个记录之后,则返回 False (0)。

如果当前记录位于最后一个记录之后,则 EOF 属性返回 True ,如果当前记录就是最后一个记录或者位于最后一个记录之前,则返回 False

如果 BOFEOF 属性为 True,则没有当前记录。

如果打开不包含任何记录的 Recordset 对象,BOFEOF 属性都会设置为 True(有关 Recordset 的此状态的详细信息,请参阅 RecordCount 属性)。 当打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,且 BOFEOF 属性均为 False

如果删除了 Recordset 对象中剩下的最后一条记录,则在尝试重新定位当前记录之前, BOFEOF 属性都会保持为 False

下表显示了在使用不同的 BOFEOF 属性组合时允许的 Move 方法。

MoveFirst、
MoveLast

MovePrevious、
Move < 0


Move 0

MoveNext、
Move > 0

BOF=True、
EOF=False

Allowed

错误

错误

允许

BOF=False、
EOF=True

允许

Allowed

错误

错误

均为 True

错误

错误

错误

错误

均为 False

Allowed

Allowed

Allowed

允许

允许某个 Move 方法并不保证该方法将成功地定位到一条记录;这仅意味着调用指定的 Move 方法不会生成错误。

下表显示了在调用各种 Move 方法但不能成功定位到记录时,BOFEOF 属性的设置会发生什么变化。

BOF

EOF

MoveFirstMoveLast

设置为 True

设置为 True

Move 0

无变化

无变化

MovePreviousMove< 0

设置为 True

无变化

MoveNextMove> 0

无变化

设置为 True