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