BOF、EOF 属性
- BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。
- EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。
返回值
BOF 和 EOF 属性返回布尔型值。
说明
使用 BOF 和 EOF 属性可确定 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。
如果当前记录位于第一个记录之前,BOF 属性将返回 True (-1),如果当前记录为第一个记录或位于其后则将返回 False (0)。
如果当前记录位于 Recordset 对象的最后一个记录之后 EOF 属性将返回 True,而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False。
如果 BOF 或 EOF 属性为 True,则没有当前记录。
如果打开没有记录的 Recordset 对象,BOF 和 EOF 属性将设置为 True,而 Recordset 对象的 属性设置为零。打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而 BOF 和 EOF 属性为 False。
如果删除 Recordset 对象中保留的最后记录,BOF 和 EOF 属性将保持 False,直到重新安排当前记录。
以下表格说明不同 BOF 和 EOF 属性组合所允许的 Move 方法。
MoveFirst,MoveLast | MovePrevious,Move < 0 | Move 0 | MoveNext,Move > 0 | |
BOF=True,EOF=False | 允许 | 错误 | 错误 | 允许 |
BOF=False,EOF=True | 允许 | 允许 | 错误 | 错误 |
同时为 True | 错误 | 错误 | 错误 | 错误 |
同时为 False | 允许 | 允许 | 允许 | 允许 |
允许使用 Move 方法并不能保证该方法成功定位记录,只是意味着调用指定的 Move 方法不会产生错误。
下表说明当调用各种 Move 方法但未成功定位记录时 BOF 和 EOF 属性设置所发生的情况。
BOF | EOF | |
MoveFirst, MoveLast | 设置为 True | 设置为 True |
Move 0 | 没有变化 | 没有变化 |
MovePrevious, Move < 0 | 设置为 True | 没有变化 |
MoveNext, Move > 0 | 没有变化 | 设置为 True |