AccessのVBAでSQLのSELECT ORDER BYを使い並べ替えてレコードを抽出する|フォーム実行例

レコードの並べ替え : ORDER BY

SELECT フィールド名 FROM テーブル名 ORDER BY 並べ替えフィールド名 並べ替え順
並べ替えは、ORDER BY を使います。
並べ替え順は、昇順がASC、降順がDESCになります。
省略すると昇順になります。

例: SQL = "SELECT 製品No FROM 製品マスター ORDER BY 単価 "
この場合、単価を昇順で製品Noを取り出します。



BackHome BackSQL Tips

サンプルソフト
[実行時の画面]
「ORDER BY 打席」ボタンをクリックすると、野球データベーステーブルから、打数で並び替えレコードを表示します。

昇順の場合は
SQL = "SELECT 選手ID,打数 FROM 野球データベース ORDER BY 打数"
又は、
SQL = "SELECT 選手ID,打数 FROM 野球データベース ORDER BY 打数 ASC"
になります。

■打数を昇順で並び替え抽出した画面
打数 昇順

降順の場合は
SQL = "SELECT 選手ID,打数 FROM 野球データベース ORDER BY 打数 DESC"
になります。

■打数を降順で並び替え抽出した画面
打数 降順

[野球データベース テーブル]
選手ID 打数  安打
10    120   30
11    150   25
13    130   20
16    100   45
野球データベース

[コード]
Option Compare Database

Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    Me!テキスト1 = Null
    SQL = "SELECT 選手ID,打数 FROM 野球データベース ORDER BY 打数"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do Until rs.EOF
        Me!テキスト1 = Me!テキスト1 & rs![選手ID] & ": " & rs![打数] & vbCrLf
        rs.MoveNext
    Loop
    Set rs = Nothing
End Sub

サンプルソフトのダウンロード

BackHome BackSQL Tips

Copyright(C) FeedSoft