Sort 속성 예제(VB)
이 예제에서는 Recordset 개체의 Sort 속성을 사용하여 Pubs 데이터베이스의 Authors 테이블에서 파생된 레코드 집합의 행을 다시 정렬합니다. 보조 유틸리티 루틴이 각 행을 출력합니다.
'BeginSortVB
'To integrate this code
'replace the data source and initial catalog values
'in the connection string
Public Sub Main()
On Error GoTo ErrorHandler
' connection and recordset variables
Dim Cnxn As New ADODB.Connection
Dim rstAuthors As New ADODB.Recordset
Dim strCnxn As String
Dim strSQLAuthors As String
Dim strTitle As String
' Open connection
Set Cnxn = New ADODB.Connection
strCnxn = "Provider='sqloledb';Data Source='MySqlServer';" & _
"Initial Catalog='Pubs';Integrated Security='SSPI';"
Cnxn.Open strCnxn
' open client-side recordset to enable sort method
Set rstAuthors = New ADODB.Recordset
rstAuthors.CursorLocation = adUseClient
strSQLAuthors = "SELECT * FROM Authors"
rstAuthors.Open strSQLAuthors, Cnxn, adOpenStatic, adLockReadOnly, adCmdText
' sort the recordset last name ascending
rstAuthors.Sort = "au_lname ASC, au_fname ASC"
' show output
Debug.Print "Last Name Ascending:"
Debug.Print "First Name Last Name" & vbCr
rstAuthors.MoveFirst
Do Until rstAuthors.EOF
Debug.Print rstAuthors!au_fname & " " & rstAuthors!au_lname
rstAuthors.MoveNext
Loop
' sort the recordset last name descending
rstAuthors.Sort = "au_lname DESC, au_fname ASC"
' show output
Debug.Print "Last Name Descending"
Debug.Print "First Name Last Name" & vbCr
Do Until rstAuthors.EOF
Debug.Print rstAuthors!au_fname & " " & rstAuthors!au_lname
rstAuthors.MoveNext
Loop
' clean up
rstAuthors.Close
Cnxn.Close
Set rstAuthors = Nothing
Set Cnxn = Nothing
Exit Sub
ErrorHandler:
' clean up
If Not rstAuthors Is Nothing Then
If rstAuthors.State = adStateOpen Then rstAuthors.Close
End If
Set rstAuthors = Nothing
If Not Cnxn Is Nothing Then
If Cnxn.State = adStateOpen Then Cnxn.Close
End If
Set Cnxn = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
'EndSortVB
다음은 지정된 제목과 지정된 레코드 집합의 내용을 출력하는 보조 유틸리티 루틴입니다.
Attribute VB_Name = "Sort"