【Access文章】Recordset2.BOF 属性 , Recordset2.EOF 属性
时 间:2015-08-25 08:25:55
作 者:杨雪 ID:42182 城市:南京
摘 要:很多初学者对BOF,EOF函数不了解,现讲解一下。
正 文:
参考示例链接:http://www.accessoft.com/article-show.asp?id=5346
返回一个值,该值指示当前记录的位置是否在 Recordset 对象中的第一条记录之前。只读 Boolean 类型。
语法
表达式.BOF
表达式 一个代表 Recordset2 对象的变量。
说明
可以使用 BOF 和 EOF 属性确定 Recordset 对象是否包含记录,或确定在从一条记录移动到另一条记录时是否超出了 Recordset 对象的限制。
当前记录指针的位置决定了 BOF 和 EOF 返回值。
如果 BOF 或 EOF 属性为 True,则没有当前记录。
如果打开的 Recordset 对象不包含记录,则 BOF 和 EOF 属性设置为 True,且 Recordset 对象的 RecordCount 属性设置为 0。当打开的 Recordset 对象至少包含一条记录时,则第一条记录即是当前记录,BOF 和 EOF 属性都为 False;它们一直保持 False,直到您分别使用 MovePrevious 或 MoveNext 方法移动到 Recordset 对象的开头和末尾之外为止。如果您移动到 Recordset 的开头或末尾之外的位置,则没有当前记录或不存在记录。
如果删除了 Recordset 对象中剩下的最后一条记录,则在尝试重新定位当前记录之前,BOF 和 EOF 属性都会保持为 False。
如果对包含记录的 Recordset 对象使用 MoveLast 方法,则最后一条记录将成为当前记录;如果之后又使用 MoveNext 方法,则当前记录将变为无效,EOF 属性设置为 True。相反,如果对包含记录的 Recordset 对象使用 MoveFirst 方法,则第一条记录将成为当前记录;如果之后又使用 MovePrevious 方法,则没有当前记录,BOF 属性设置为 True。
通常,在处理 Recordset 对象中的所有记录时,代码将使用 MoveNext 方法遍历所有记录,直到 EOF 属性设置为 True 为止。
如果在 EOF 属性设置为 True 的情况下使用 MoveNext 方法,或者在 BOF 属性设置为 True 的情况下使用 MovePrevious 方法,则会发生错误。
下表显示了在使用不同的 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 属性的状态可能更改。
OpenRecordset 方法在内部调用 MoveFirst 方法。因此,对空记录集使用 OpenRecordset 方法会将 BOF 和 EOF 属性设置为 True。(有关失败的 MoveFirst 方法的行为,请参阅下表。)
所有成功定位记录的 Move 方法都会将 BOF 和 EOF 均设置为 False。
在 Microsoft Access 工作区中,如果向空 Recordset 添加记录,BOF 将成为 False,但是 EOF 将保持 True,指示当前位置位于 Recordset 的末尾。
任何 Delete 方法都不会更改 BOF 或 EOF 属性的设置,即使它从记录集删除了唯一的剩余记录也是如此。
下表显示不定位记录的 Move 方法如何影响 BOF 和 EOF 属性设置。
|
BOF |
EOF |
MoveFirst、MoveLast |
True |
True |
Move 0 |
没有变化 |
没有变化 |
MovePrevious、Move < 0 |
True |
没有变化 |
MoveNext、Move > 0 |
没有变化 |
True |
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(7)-创建查询(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)
- 统计当月之前(不含当月)的记录数怎...(03.11)
- 【Access Inputbox示...(03.03)