【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交流群 (群号:483923997) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
- 【Access窗体导出Exce...(11.15)
- 【Access开发】Acces...(11.14)
- 通过Access宏录入数据到选...(11.10)
- 用DLOOKUP函数将需求表中...(10.31)
- Access日期区间段查询数据...(10.25)
学习心得
最新文章
- Access快速开发平台--在WI...(03.08)
- 使用SQL语句删除xscj表中学号...(03.08)
- Access快速开发平台进销存教程...(03.07)
- Access快速开发平台--frm...(03.06)
- 【Access删除查询】删除数字最...(03.06)
- Access快速开发平台进销存教程...(03.05)
- Access快速开发平台进销存教程...(03.04)
- Access快速开发平台--IsL...(03.02)
- Access两种方式实现即时更新月...(03.01)
- Access开发的资金管理系统;基...(02.29)