Office中国论坛/Access中国论坛

标题: 怎样才能判断在记录指针首记录或在末记录 [打印本页]

作者: wyl    时间: 2003-12-28 23:49
标题: 怎样才能判断在记录指针首记录或在末记录
怎样才能判断在记录指针首记录或在末记录
作者: lhd_roy    时间: 2003-12-29 00:20
在窗体上有recordSet.eof=true 就可以知道了!
作者: cg1    时间: 2003-12-29 00:20
如果是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


作者: cg1    时间: 2003-12-29 00:21
也可以用 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 对象的所有类型定位的唯一方式。

作者: cg1    时间: 2003-12-29 00:24
如果是窗体可以用

form.CurrentRecord  加上  recordset.count 来判断




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3