请问:VB MoveNext下一项只能显示第二项,其他的不显

请教:VBMoveNext下一项只能显示第二项,其他的不显查询到的数据集有几项,但点击“下一项”只会显示第二项,其

请教:VB MoveNext下一项只能显示第二项,其他的不显
查询到的数据集有几项,但点击“下一项”只会显示第二项,其他的不会显示,怎么解决啊!!
代码如下:

Private Sub CmdMD_Click(Index As Integer)
  adoCouCheck.CommandType = adCmdText
  adoCouCheck.RecordSource = " select * from Course_Tb"
  adoCouCheck.Refresh
  Select Case Index
  Case Is = 0 '移到第一条记录
  If Not adoCouCheck.Recordset.BOF Then adoCouCheck.Recordset.MoveFirst
  Case Is = 1 '移到上一条记录
  If adoCouCheck.Recordset.RecordCount <> 0 Then
  If adoCouCheck.Recordset.BOF = False Then adoCouCheck.Recordset.MovePrevious
  If adoCouCheck.Recordset.BOF = True Then adoCouCheck.Recordset.MoveFirst
  End If
  Case Is = 2 '移到下一条记录
  If adoCouCheck.Recordset.RecordCount <> 0 Then
  If adoCouCheck.Recordset.EOF = False Then adoCouCheck.Recordset.MoveNext
  If adoCouCheck.Recordset.EOF = True Then adoCouCheck.Recordset.MoveLast
  End If
  Case Is = 3 '移到最后一条记录
  If Not adoCouCheck.Recordset.EOF Then adoCouCheck.Recordset.MoveLast
  End Select
  With adoCouCheck.Recordset
  For i = 0 To 4
  If adoCouCheck.Recordset.Fields(i) <> "" Then
  txtCourse(i).Text = adoCouCheck.Recordset.Fields(i)
  Else
  txtCourse(i).Text = ""
  End If
  Next i
  End With
End Sub

[解决办法]
写错了一个地方,利用模块级变量和recordset的move方法实现。
我还是建议用一个模块级变量来保存你每次操作后记录的索引值,加如为 m_CurIndex
Case Is = 1 '移到上一条记录
If adoCouCheck.Recordset.RecordCount <> 0 Then
If adoCouCheck.Recordset.BOF = False Then
m_CurIndex=m_CurIndex-1
adoCouCheck.Recordset.Move(m_CurIndex)
end if
If adoCouCheck.Recordset.BOF = True Then
adoCouCheck.Recordset.MoveFirst
m_CurIndex=0
endif
End If
Case Is = 2 '移到下一条记录
If adoCouCheck.Recordset.RecordCount <> 0 Then
If adoCouCheck.Recordset.EOF = False Then
m_CurIndex=m_CurIndex+1
adoCouCheck.Recordset.Move(m_CurIndex)
end if
If adoCouCheck.Recordset.EOF = True Then
adoCouCheck.Recordset.MoveLast
m_CurIndex=adoCouCheck.Recordset.recordCount-1
end if
End If

移至第一行时加上m_CurIndex=0 ,移至最后一行时加上m_CurIndex=adoCouCheck.Recordset.recordCount-1