先引用ADO 2.8 ,代码如下Private Sub Command1_Click()
  Dim cnn As New ADODB.Connection
  Dim rs As New ADODB.Recordset
  
  Dim str As String
  str = App.Path
  
str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & str & "\wind1.mdb;Mode=Read;Persist Security Info=False"
  
  cnn.Open str
  rs.Open "班级成绩表", cnn, adOpenKeyset, adLockPessimistic
        Text1.Text = rs.Fields("学生姓名")
        Text2.Text = rs.Fields("语文")
        Text3.Text = rs.Fields("数学")
        Text4.Text = rs.Fields("英语")
End Sub大家看明白了?我现在点一下按钮就直接把“班级成绩表”的第一行的数据显示在文本框里了!!
现在怎么加一个循环才能够让我    每点一下按钮就显示下一个学生的成绩???

解决方案 »

  1.   


    ''''''''''''''''''
    '您要加一个Label1控件
    '把Label1.caption定义为1 , Label1.Caption = 1
    ''''''''''''''''''
    Private Sub Command1_Click() '上一条记录
    Dim cnn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim str As String
    str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\wind1.mdb;Persist Security Info=False"
    cnn.Open str
    rs.Open "select * from abc where 编号   = " & Trim(Label1.Caption) - 1 & " or 编号 < " & Trim(Label1.Caption) & " order  by 编号 ", cnn, adOpenKeyset, adLockPessimistic
    If rs.EOF = True Then
    MsgBox "到顶啦", vbInformation, "提示"
    rs.Close
    cnn.Close
    Set rs = Nothing
    Exit Sub
    End If
    Label1.Caption = rs.Fields("编号")
    Text1.Text = rs.Fields("学生姓名")
    Text2.Text = rs.Fields("语文")
    Text3.Text = rs.Fields("数学")
    Text4.Text = rs.Fields("英语")
    rs.Close
    cnn.Close
    Set rs = Nothing
    End Sub
    Private Sub Command2_Click() '下一条记录
    Dim cnn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim str As String
    str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\wind1.mdb;Persist Security Info=False"
    cnn.Open str
    rs.Open "select * from abc where 编号   = " & Trim(Label1.Caption) + 1 & " or 编号  > " & Trim(Label1.Caption) & " order  by 编号 ", cnn, adOpenKeyset, adLockPessimistic
    If rs.EOF = True Then
    MsgBox "到底啦", vbInformation, "提示"
    rs.Close
    cnn.Close
    Set rs = Nothing
    Exit Sub
    End If
    Label1.Caption = rs.Fields("编号")
    Text1.Text = rs.Fields("学生姓名")
    Text2.Text = rs.Fields("语文")
    Text3.Text = rs.Fields("数学")
    Text4.Text = rs.Fields("英语")
    rs.Close
    cnn.Close
    Set rs = Nothing
    End Sub
      

  2.   

    if 数据集的总数目> 0 then
      数据集先移到第一行
      for i=1 to 数据集的总数目     显示内容     if 数据集.EOF=false then 数据集.movenext else exit for
      next i
    end if
      

  3.   

    Dim cnn As New ADODB.Connection 
    Dim rs As New ADODB.Recordset Private Sub Command1_Click()   
      Dim str As String 
      str = App.Path 
      
      str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & str & "\wind1.mdb;Mode=Read;Persist Security Info=False" 
      
      cnn.Open str 
      rs.Open "班级成绩表", cnn, adOpenKeyset, adLockPessimistic 
    End Sub Private Sub Command1_Click()   
    if rs.eof then exit sub
    rs.movefirst
    do
       Text1.Text = rs.Fields("学生姓名") 
       Text2.Text = rs.Fields("语文") 
       Text3.Text = rs.Fields("数学") 
       Text4.Text = rs.Fields("英语") 
       rs.movenext
    loop until rs.eof
    end sub