设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1892|回复: 4
打印 上一主题 下一主题

[宏/菜单/工具栏] 怎样才能判断在记录指针首记录或在末记录

[复制链接]
跳转到指定楼层
1#
发表于 2003-12-28 23:49:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样才能判断在记录指针首记录或在末记录
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-12-29 00:20:00 | 只看该作者
在窗体上有recordSet.eof=true 就可以知道了!
3#
发表于 2003-12-29 00:20:00 | 只看该作者
如果是RECORDSET的话可以用以下两个属性来判断

if rs.eof then
    msgbox "end"
end if

if rs.bof then
    msgbox "top"
end if

BOF 和 EOF 属性
      

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


EOF — 指示当前记录的位置在 Recordset 对象的最后一个记录之后。
返回值

BOF 和 EOF 属性返回 Boolean 值。

说明

使用 BOF 和 EOF 属性确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。

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

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

如果 BOF 或 EOF 属性为 True,则没有当前记录。

如果打开不包含记录的 Recordset 对象,则 BOF 和 EOF 属性被设置为 True,Recordset 对象的 RecordCount 属性设置为零。当打开至少包含一个记录的 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

4#
发表于 2003-12-29 00:21:00 | 只看该作者
也可以用 rs.AbsolutePosition  以及 rs.recordcount 来判断

AbsolutePosition 属性
      

指示 Recordset 对象的当前记录的序号位置。

设置和返回值

设置或返回从 1 到 Recordset 对象 (PageCount) 中的记录数的 Long 值,或者返回一个 PositionEnum 值。

说明

使用 AbsolutePosition 属性根据在 Recordset 对象中的序号位置移动到某一记录,或确定当前记录的序号位置。提供者必须支持相应的功能才能使用此属性。

与 AbsolutePage 属性一样,AbsolutePosition 也是从 1 开始,并且当前记录是 Recordset 的第一个记录时等于 1。可以通过 RecordCount 属性获取 Recordset 对象中记录的总数目。

设置 AbsolutePosition 属性时,即使该属性指向当前缓存中的记录,ADO 也将使用以用户指定的记录开始的新记录组来重载缓存。CacheSize 属性决定此记录组的大小。

注意   不应将 AbsolutePosition 属性作为替代的记录编号使用。删除前面的记录时,给定记录的位置将发生更改。如果重新查询或重新打开 Recordset 对象,则无法保证给定的记录会有相同的 AbsolutePosition。书签仍然是保持和返回给定位置的建议方式,并且是跨越 Recordset 对象的所有类型定位的唯一方式。
5#
发表于 2003-12-29 00:24:00 | 只看该作者
如果是窗体可以用

form.CurrentRecord  加上  recordset.count 来判断
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-6 17:19 , Processed in 0.102565 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表