用datagrid显示数据库中表的信息,要移动光标来实现‘上一步’ 和‘下一步’
代码如下:
Private Sub Command1_Click()    ‘上一步’按钮的实现代码
If re2.BOF Then
re2.MoveLast
Else
re2.MovePrevious
End If
End SubPrivate Sub Command2_Click()    ‘下一步’按钮的实现代码
If re2.EOF Then
re2.MoveFirst
Else
re2.MoveNext
End If
End Sub
但是有一点小错误。就是当记录到datagrid的最后一条时再按‘下一条’要按两下才能移到datagrid的第一条!   当记录到datagrid的第一条时再按‘上一条’也要按两下才能移到
datagrid的最后一条!
不知道大家懂不懂我的意思?
哪错了吗?要怎么改?
谢谢!
分数用完了,希望高手不要只看分数,不吝赐教!

解决方案 »

  1.   

    Private Sub Command1_Click()    ‘上一步’按钮的实现代码
    re2.MovePrevious
    If re2.BOF Then
    re2.MoveLast
    end if
    End SubPrivate Sub Command2_Click()    ‘下一步’按钮的实现代码
    re2.MoveNext
    If re2.EOF Then
    re2.MoveFirst
    end if
    End Sub
      

  2.   

    记录是最后一个,但记录不一定是re2.EOF
      

  3.   

    Private Sub Command6_Click()  //上一条
    On Error GoTo errEnd
    Adodc1.Recordset.MovePrevious
        If Adodc1.Recordset.BOF Then
            Adodc1.Recordset.MoveLast
        End If
        Call viewdata
        Form1.StatusBar1.Panels(4).Text = "第" & Adodc1.Recordset.Book & "条记录"
        Exit Sub
    errEnd:
    End SubPrivate Sub Command7_Click()  //下一条
    On Error GoTo errEnd
    Adodc1.Recordset.MoveNext
        If Adodc1.Recordset.EOF Then
            Adodc1.Recordset.MoveFirst
        End If
    Call viewdata
    Form1.StatusBar1.Panels(4).Text = "第" & Adodc1.Recordset.Book & "条记录"
    Exit Sub
    errEnd:
    End Sub
      

  4.   

    你要搞清楚BOF()和EOF() 到底是什么位置,你就不难理解为什么这样写了。
      

  5.   

    当游标移动到最后一个记录时,EOF()=FALSE
    当游标移动到最后一个记录的下一个位置时,EOF()=TRUEBOF同理
      

  6.   

    多看一下 cokeliu的代码吧!
    写的比较规范