0000000拜托大家帮我看看这段代码 有什么问题?0000000000000000

wingchi 2003-09-23 09:14:02
Set Rstemp = New adodb.Recordset
Rstemp.Open "select rkdh from jxc_kc_cgrkd group by rkdh ", Cn1, 1, 1
Select Case strWhichPage
Case "first" '首张
If Rstemp.RecordCount = 0 Then
Exit Sub
End If
If Not Rstemp.BOF Then
Rstemp.MoveFirst
End If

Case "previous" '上张 '执行这一步的时候在后面(err一步)出错 If Rstemp.RecordCount = 0 Then
Exit Sub
End If
If Not Rstemp.BOF Then
Rstemp.MovePrevious
End If

Case "next" '下张
If Rstemp.RecordCount = 0 Then
Exit Sub
End If

If Not Rstemp.EOF Then
Rstemp.MoveNext
End If

Case "last" '末张
If Rstemp.RecordCount = 0 Then
Exit Sub
End If
If Not Rstemp.EOF Then
Rstemp.MoveLast
End If
End Select

Set Rs2 = New adodb.Recordset
Rs2.Open "select * from jxc_kc_cgrkd where rkdh='" & Rstemp!rkdh & "'", Cn1, 1, 1 (********ERR***********)

'出错的提示为:对象'value'的方法'field'失败
不知道别的地方还有没有别的错误了 另外 点击'末张'之后,在点击'下张'又会有一条新的记录出现 搞了一个晚上 没有搞定 哪位高人指点一下??谢谢。搞定之后 百分相送。决不食言。
(注:不用adodc控件)
...全文
129 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanyx 2003-09-23
  • 打赏
  • 举报
回复
还不错啊,错落有致
rexyudl 2003-09-23
  • 打赏
  • 举报
回复
第二个问题!
因为你每次都要重新打开记录集所以当你使用最后一条后,再使用下一条时又重新打开了记录集所以才会出现你说的问题啊!
demo001 2003-09-23
  • 打赏
  • 举报
回复
同上,要细心哦
rexyudl 2003-09-23
  • 打赏
  • 举报
回复
已经Rstemp.MoveLast后不能再Rstemp.MoveNext
在Rstemp.MoveFirst后不能Rstemp.MovePrevious
另最初执行SQL查询后记录集的指针位置和使用了Rstemp.MoveFirst后的位置相同。
rexyudl 2003-09-23
  • 打赏
  • 举报
回复
有问题啊!
当你时候SQL查出的数据是指针默认在记录集的第一条上!效果等同于Rstemp.MoveFirst
此时你如果直接执行以下代码
Case "previous" '上张 '执行这一步的时候在后面(err一步)出错 If Rstemp.RecordCount = 0 Then
Exit Sub
End If
If Not Rstemp.BOF Then
Rstemp.MovePrevious
End If
一定出错!
因为已经在第一条数据上了!

第二个问题和上个问题类似啊!
如果已经执行了Rstemp.MoveLast的语句那么指针已经到了最后一条记录了!
再执行Rstemp.MoveNext出错!

控制的方法!开始的时候不允许时候前一张按钮,点了最后一张按钮后不允许使用下一张按钮!
victorycyz 2003-09-23
  • 打赏
  • 举报
回复
Case "next" '下张
If Rstemp.RecordCount = 0 Then
Exit Sub
End If

If Not Rstemp.EOF Then
Rstemp.MoveNext
if not rstemp.eof then ‘须添加这几句。
rstemp.movelast
end if
End If

另,“上张”也要做相应处理。
victorycyz 2003-09-23
  • 打赏
  • 举报
回复
Case "next" '下张
If Rstemp.RecordCount = 0 Then
Exit Sub
End If

If Not Rstemp.EOF Then
Rstemp.MoveNext
if not rstemp.eof then ‘须添加这几句。
rstemp.movelast
end if
End If

另,“上张”也要做相应处理。
armu80830 2003-09-23
  • 打赏
  • 举报
回复
Rs2.Open "select * from jxc_kc_cgrkd where rkdh='" & Rstemp(0) & "'", Cn1, 1, 1

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧