AbsolutePosition、CursorLocation プロパティの例 (VB)

この例では、AbsolutePosition プロパティを使って、Recordset のすべてのレコードを列挙するループ処理の進行状況をトレースします。ここでは、CursorLocation プロパティを使ってカーソルクライアント カーソルに設定することにより、AbsolutePosition プロパティを使用可能にしています。

Public Sub AbsolutePositionX()

    Dim rstEmployees As ADODB.Recordset
    Dim strCnn As String
    Dim strMessage As String

    ' Open a recordset for the Employee table
    ' using a client cursor.
    strCnn = "Provider=sqloledb;" & _
        "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "
    Set rstEmployees = New ADODB.Recordset
    ' Use client cursor to enable AbsolutePosition property.
    rstEmployees.CursorLocation = adUseClient
    rstEmployees.Open "employee", strCnn, , , adCmdTable
    
    ' Enumerate Recordset.
    Do While Not rstEmployees.EOF
        ' Display current record information.
        strMessage = "Employee: " & rstEmployees!lName & vbCr & _
            "(record " & rstEmployees.AbsolutePosition & _
            " of " & rstEmployees.RecordCount & ")"
        If MsgBox(strMessage, vbOKCancel) = vbCancel _
            Then Exit Do
        rstEmployees.MoveNext
    Loop

    rstEmployees.Close

End Sub