この例では、Recordset オブジェクトの Sort プロパティを使って、Pubs データベースの Authors テーブルから取得した Recordset の行を並べ替えます。二次ユーティリティ ルーチンで各行を出力します。
Sub Main()
SortX
End Sub
Public Sub SortX()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
rst.CursorLocation = adUseClient
cnn.Open "DSN=Pubs;Provider=MSDASQL;uid=sa;pwd=;"
rst.Open "SELECT * FROM Authors", cnn, _
adOpenStatic, adLockReadOnly, adCmdText
SortXprint "Initial Order", rst
rst.Sort = "au_lname ASC, au_fname ASC"
SortXprint "Last Name Ascending", rst
rst.Sort = "au_lname DESC, au_fname ASC"
SortXprint "Last Name Descending", rst
rst.Close
cnn.Close
End Sub
次のコードは、与えられたタイトルと指定された Recordset の内容を出力する二次ユーティリティ ルーチンです。
Public Sub SortXprint ( title As String, rstp As ADODB.Recordset )
Debug.Print "---------------" & title & "---------------"
Debug.Print "First Name Last Name" & vbCr & _
"---------------------------------------------------"
rstp.MoveFirst
While Not rstp.EOF
Debug.Print rstp!au_fname & " " & rstp!au_lname
rstp.MoveNext
Wend
Debug.Print
End Sub