已经放入 if notEOF 和 bof,但仍然出现错误

Already put if notEOF and bof and still get an error

我正在 Vb.net 编程并使用访问权限。我用adodb来连接它。 我对 eof 和 bof 有疑问。我尝试以程序告诉用户它已经是最后一行并且无法转到下一行的方式进行编码。

Private Sub nav()
        If retVal Then
            lblQuestion.Visible = True

            lblQuestion.Text = rs.Fields("Question").Value
            lblType.Text = rs.Fields("Type").Value
            lblGroup.Text = rs.Fields("Group").Value

            If lblTtype.Text = "d" Then
                txtAnswer.Visible = True
                comboOption.Visible = True
           ElseIf lblTipo.Text = "o" Then
                comboOption.Visible = True
                txtAnswer.Visible = false

            End If
        End If
    End Sub
Private Sub BtnNext_Click(sender As Object, e As EventArgs) Handles btnNext.Click
        If Not rs.EOF Then
            rs.MoveNext()
            nav()
        Else
            MsgBox("This is the last Question")
        End If
    End Sub

当它到达最后一行时,仍然像它不是最后一行一样。我的意思是,即使使用 "If not rs.EOF",它也会尝试转到下一行。

提前致谢。

您还必须检查rs.Eof之后rs.MoveNext,就好像您在最后一行并移动到下一行,您到达rs.Eof其中rs.Fields不包含任何数据。

只需在nav()之前添加另一个检查:

Private Sub BtnNext_Click(sender As Object, e As EventArgs) Handles btnNext.Click
    If Not rs.EOF Then
        rs.MoveNext()
        If Not rs.Eof Then
            nav()
        Else
            rs.MovePrevious()
            MsgBox("This is the last Question")
        End If
     End If
End Sub