该范例使用 AbsolutePage、PageCount 和 PageSize 属性,以每次五个记录的方式显示雇员表中的姓名和受雇日期。Public Sub AbsolutePageX()
   
   Dim rstEmployees As ADODB.Recordset
   Dim strCnn As String
   Dim strMessage As String
   Dim intPage As Integer
   Dim intPageCount As Integer
   Dim intRecord As Integer   ' 使用客户端游标为雇员表打开一个记录集。
   strCnn = "Provider=sqloledb;" & _
      "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
   Set rstEmployees = New ADODB.Recordset
   ' 使用客户端游标激活 AbsolutePosition 属性。
   rstEmployees.CursorLocation = adUseClient
   rstEmployees.Open "employee", strCnn, , , adCmdTable
   
   ' 显示姓名和受雇日期,每次五个记录。
   rstEmployees.PageSize = 5
   intPageCount = rstEmployees.PageCount
   For intPage = 1 To intPageCount
      rstEmployees.AbsolutePage = intPage
      strMessage = ""
      For intRecord = 1 To rstEmployees.PageSize
         strMessage = strMessage & _
            rstEmployees!fname & " " & _ 
            rstEmployees!lname & " " & _ 
            rstEmployees!hire_date & vbCr
         rstEmployees.MoveNext
         If rstEmployees.EOF Then Exit For
      Next intRecord
      MsgBox strMessage
   Next intPage
   rstEmployees.CloseEnd Sub

解决方案 »

  1.   

    该范例使用 AbsolutePage、PageCount 和 PageSize 属性,以每次五个记录的方式显示雇员表中的姓名和受雇日期。Public Sub AbsolutePageX()
       
       Dim rstEmployees As ADODB.Recordset
       Dim strCnn As String
       Dim strMessage As String
       Dim intPage As Integer
       Dim intPageCount As Integer
       Dim intRecord As Integer   ' 使用客户端游标为雇员表打开一个记录集。
       strCnn = "Provider=sqloledb;" & _
          "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
       Set rstEmployees = New ADODB.Recordset
       ' 使用客户端游标激活 AbsolutePosition 属性。
       rstEmployees.CursorLocation = adUseClient
       rstEmployees.Open "employee", strCnn, , , adCmdTable
       
       ' 显示姓名和受雇日期,每次五个记录。
       rstEmployees.PageSize = 5
       intPageCount = rstEmployees.PageCount
       For intPage = 1 To intPageCount
          rstEmployees.AbsolutePage = intPage
          strMessage = ""
          For intRecord = 1 To rstEmployees.PageSize
             strMessage = strMessage & _
                rstEmployees!fname & " " & _ 
                rstEmployees!lname & " " & _ 
                rstEmployees!hire_date & vbCr
             rstEmployees.MoveNext
             If rstEmployees.EOF Then Exit For
          Next intRecord
          MsgBox strMessage
       Next intPage
       rstEmployees.CloseEnd Sub