レコードを並べ替える 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 = 文字列
複数フィールドをソートする場合はカンマで区切って指定する。
「アルバイト」テーブル
実行結果