レコードを並べ替える Sort
Sub 並べ替え()
'Sort プロパティで並べ替える
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String
FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
'CursorLocation プロパティに adUseClient を設定
myRS.CursorLocation = adUseClient
myRS.Open "アルバイト", myCon, adOpenForwardOnly, adLockOptimistic
'「所属」フィールド昇順、「時給」フィールド降順で並べ替えて転記
myRS.Sort = "所属 ASC ,時給 DESC"
Range("A1").CopyFromRecordset myRS
myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing
End Sub
ソートを行う準備をする
Recordset オブジェクト.CursorLocation = adUseClient
CursorLocation プロパティは、カーソルの状態を変更するプロパティ
| 定数 | 値 | 説明 |
|---|---|---|
| adUseClient | 3 | ローカル カーソルライブラリより提供されたクライアント側カーソルを使います。ローカルカーソルサービスにはドライバによって提供されるカーソルよりも多くのカーソル機能があるので、この設定を利用すればより高度な機能を提供できます。以前のバージョンとの互換性を保つために、同じ意味を持つadUseClientBatch もサポートしています。 |
| adUseNone | 1 | カーソルサービスを使いません。(この定数は現行バージョン用ではなく、以前のバージョンとの互換性を保つために装備されています。) |
| adUseServer | 2 | 既定値です。データ プロバイダカーソルまたはドライバによって供給されるカーソルを使用します。これらのカーソルは、多くの場合柔軟性が高く、ほかのユーザーが行うデータソースへの変更を検出できます。ただし、「MicrosoftCursor Service for OLEDB」にはサーバー側カーソルではシミュレートできない機能(独立した Recordset オブジェクトなど)があり、そのような機能はこの設定では利用できません。 |
レコードを並べ替える
Recordset オブジェクト.Sort = 文字列
複数フィールドをソートする場合はカンマで区切って指定する。
「アルバイト」テーブル
実行結果

