做了一个“向下”按钮,希望点击一下就可以显示下一条,可这段代码却不能实现这一功能!
Private Sub cmd_next_Click()
  Dim rst As New ADODB.Recordset
  Set rst = New ADODB.Recordset
     rst.CursorLocation = adUseClient
     rst.CursorType = adOpenStatic
     rst.LockType = adLockOptimistic
     rst.Open "Gy_ExtendProcess", cnn, , , adCmdTable
     If rst.AbsolutePosition <> adPosBOF Then
     rst.MoveLast
     Text1.Text = rst.Fields(1).Value
    End If
 End Sub为什么text1显示不出表里的数据。AbsolutePosition的值总是为-2,为什么?

解决方案 »

  1.   

    你想做什么呀?思路有问题哦,我个人认为。你这个代码是打开查询、显示的动作呀。建议你这么做:专门做一个连接程序,这个“向下”按钮里面只要添加RS.MoveNext动作就好了。
      

  2.   

    这样是很浪花费资源的,最好将数据库的连接、数据库操作分开写。然后打开是采用如此形式rs.Open "select distinct mc from t_gyszl", cn, adOpenStatic, adLockReadOnly
    最后写一个查询显示语句rs.movenext这样子就可以了
      

  3.   

    你可以写成这样:
    private  rst As New ADODB.RecordsetPrivate Sub form_load()
         rst.CursorLocation = adUseClient
         rst.CursorType = adOpenStatic
         rst.LockType = adLockOptimistic
         rst.Open "Gy_ExtendProcess", cnn, , , adCmdTable
    End subprivate sub command1_click()
         If not rst.eof Then
            Text1.Text = rst.Fields(1).Value
            rst.MoveLast
         endif
    end sub
      

  4.   

    rst.movelast 应该改成 rst.movenext吧
      

  5.   

    rst.CursorType = adOpenStatic改成rst.CursorType = adOpenDynamic