Dim strSQL As String
  Dim cnn As New ADODB.Connection
  Dim rs As New ADODB.Recordset
  rs.LockType = adLockOptimistic
  rs.CursorType = adOpenKeyset
  cnn.CursorLocation = adUseClient
  cnn.ConnectionString = connstr
  cnn.Open
  rs.Open "SELECT 姓名,学好,总分,课程 FROM ZERO_TAB", cnn
  If Not rs.EOF Then
  Set Datagrid.DataSource = rs
  End If
请教如何实现按照总分在DATAGRID里面按照降序排列?并且把排列的前10位的课程改成“计算机”(10这个数据是在TEXT2里面,有可能不是10),非前10的不用管??谢谢

解决方案 »

  1.   


      Dim strSQL As String
      Dim cnn As New ADODB.Connection
      Dim rs As New ADODB.Recordset
      rs.LockType = adLockOptimistic
      rs.CursorType = adOpenKeyset
      cnn.CursorLocation = adUseClient
      cnn.ConnectionString = connstr
      cnn.Open
      rs.Open "SELECT 姓名,学好,总分,课程 FROM ZERO_TAB order by 总分 desc", cnn
      If rs.RecordCount < Text2 Then
         n = rs.RecordCount
      Else
         n = Text2
      End If
      For i = 1 To n
          rs.Fields(3) = "计算机" '不更新则不改变数据库里数据
          rs.MoveNext
      Next
      Set DataGrid.DataSource = rs