HOME > 即効テクニック > AccessVBA > クエリ・SQL > 複数のキーを指定して検索結果を並べ替える

即効テクニック

クエリ・SQL

複数のキーを指定して検索結果を並べ替える

(Access 2000/2002)
●概要●
構文  ORDER BY フィールド1 [ASC|DESC],フィールド2 [ASC|DESC],・・・

複数のキーを指定して検索結果を並べ替えます。昇順、降順は、各々のキーに対して指定することができます。
サンプルでは、2つのソートキーを指定して検索します。第1キーの[入社年月日]が同じレコードは、第2キーの「社員コード」の昇順に並び替えられます。
●サンプル●
'複数のキーを指定して検索結果を並べ替える
Public Sub Sample()

    Dim myDB As Database
    Dim myRS As DAO.Recordset
    Dim mySQL As String

    'SQLステートメントを定義する
    mySQL = "SELECT * FROM 社員テーブル" _
                 & " ORDER BY 入社年月日 DESC,社員コード ;"

    'カレントデータベースを変数に代入する
    Set myDB = CurrentDb
    'SQLステートメントを実行してレコードセットを開く
    Set myRS = myDB.OpenRecordset(mySQL, dbOpenDynaset)
    'レコードセットの内容を表示する
    Debug.Print "*** ソートキー:入社年月日(降順) > 社員コード(昇順) ***"
    Do Until myRS.EOF
        Debug.Print myRS!社員コード & " " & myRS!部署コード & " " _
                    & myRS!名前  & " " & myRS!入社年月日 & " " & myRS!職種
        myRS.MoveNext
    Loop
    'レコードセットを閉じる
    myRS.Close

End Sub
●補足●
結果は[イミディエイト]ウィンドウに表示されます。