Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-宏

【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 对象的变量。

说明

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

当前记录指针的位置决定了 BOFEOF 返回值。

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

如果打开的 Recordset 对象不包含记录,则 BOFEOF 属性设置为 True,且 Recordset 对象的 RecordCount 属性设置为 0。当打开的 Recordset 对象至少包含一条记录时,则第一条记录即是当前记录,BOFEOF 属性都为 False;它们一直保持 False,直到您分别使用 MovePreviousMoveNext 方法移动到 Recordset 对象的开头和末尾之外为止。如果您移动到 Recordset 的开头或末尾之外的位置,则没有当前记录或不存在记录。

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

如果对包含记录的 Recordset 对象使用 MoveLast 方法,则最后一条记录将成为当前记录;如果之后又使用 MoveNext 方法,则当前记录将变为无效,EOF 属性设置为 True。相反,如果对包含记录的 Recordset 对象使用 MoveFirst 方法,则第一条记录将成为当前记录;如果之后又使用 MovePrevious 方法,则没有当前记录,BOF 属性设置为 True

通常,在处理 Recordset 对象中的所有记录时,代码将使用 MoveNext 方法遍历所有记录,直到 EOF 属性设置为 True 为止。

如果在 EOF 属性设置为 True 的情况下使用 MoveNext 方法,或者在 BOF 属性设置为 True 的情况下使用 MovePrevious 方法,则会发生错误。

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


MoveFirst、

MoveLast

MovePrevious、

Move < 0

Move 0

MoveNext、

Move > 0

BOF=True,

EOF=False

允许

错误

错误

允许

BOF=False,

EOF=True

允许

允许

错误

错误

均为 True

错误

错误

错误

错误

均为 False

允许

允许

允许

允许

允许 Move 方法并不意味着该方法可以成功定位记录。它只是表示允许尝试执行指定的 Move 方法,且不会生成错误。在尝试 Move 后,BOFEOF 属性的状态可能更改。

OpenRecordset 方法在内部调用 MoveFirst 方法。因此,对空记录集使用 OpenRecordset 方法会将 BOFEOF 属性设置为 True。(有关失败的 MoveFirst 方法的行为,请参阅下表。)

所有成功定位记录的 Move 方法都会将 BOFEOF 均设置为 False

Microsoft Access 工作区中,如果向空 Recordset 添加记录,BOF 将成为 False,但是 EOF 将保持 True,指示当前位置位于 Recordset 的末尾。

任何 Delete 方法都不会更改 BOFEOF 属性的设置,即使它从记录集删除了唯一的剩余记录也是如此。

下表显示不定位记录的 Move 方法如何影响 BOFEOF 属性设置。


BOF

EOF

MoveFirstMoveLast

True

True

Move 0

没有变化

没有变化

MovePreviousMove < 0

True

没有变化

MoveNextMove > 0

没有变化

True




Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助