我正在使用Vb.net和access进行编程。我用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“。
提前谢谢。
发布于 2019-06-27 07:26:41
你必须检查数据,就像你在最后一行一样,然后移动到下一行,你没有数据( reachrs.Eof
wherers.Fields
contain no forrs.Eof
afterrs.MoveNext
too,)。
只需在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
https://stackoverflow.com/questions/56780335
复制相似问题