
アクセスでADOを使っているのですが、
Sub test()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM Q1", cn, adOpenStatic, adLockPessimistic
rs.Sort = "受付日 DESC"
For i = 1 To rs.RecordCount
・
・
・
このようなコードを作っていますが、
rs.Sortの部分で、「並べ替えを適用できません」になります。
レコード数は、15000件くらいです。
なぜ並べ替えができないのでしょうか?
しょうがないからクエリで最初から並べ替えしておきますが、原因を教えてください。

No.1ベストアンサー
- 回答日時:
おかしな所は見当たらないですね。
こちらでも検索してみましたが、ソートするフィールドの型によってもその実行時エラーが
発生するみたいですね。(メモ型らしいですけど)
直接的な解決策ではありませんが、ORDER BY句を指定するのはダメですか?
Sub test()
Dim cn As ADODB.Connection'ここでNewするのはやめましょう。
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set cn = CurrentProject.Connection
'rs.CursorLocation = adUseClient 不要
rs.Open "SELECT * FROM Q1 ORDER BY 受付日 DESC ;", cn, adOpenStatic, adLockPessimistic
For i = 1 To rs.RecordCount
recordsetを取得してから並び替える必要があるならダメですが、そうでないなら
ORDER BY句で対応された方がいいのではないでしょうか。
Q1(クエリ)に例えば受付日が昇順に設定されていても、ADOで開く時のORDER BY句が優先されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」
Visual Basic(VBA)
-
-
4
Worksheets メソッドは失敗しました。のエラー処理のやり方
Visual Basic(VBA)
-
5
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
6
ADOでNullフィールドの抽出
Visual Basic(VBA)
-
7
オープンしているレコードセットの中の最大値
その他(データベース)
-
8
ADOでアクセスのレコードに複数のフィルタをかけるには?
Access(アクセス)
-
9
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
10
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
11
メインフォームからサブフォームの背景色を変えたい。
その他(プログラミング・Web制作)
-
12
ACCESS ADOでupdateが効かない
その他(データベース)
-
13
Excel 1セル当りの文字数が255文字を超える場合のADOからの取
その他(プログラミング・Web制作)
-
14
ACCESS クエリーでソートの不具合
その他(データベース)
-
15
Application.Wait の参照設定
Visual Basic(VBA)
-
16
ADOで複数のBookから抽出
Visual Basic(VBA)
-
17
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
19
クエリ表示と、ADOで抽出したレコードセットが違う
Access(アクセス)
-
20
バックグラウンドのプロセスのエクセルを閉じる方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クリスタルレポートで文字列の...
-
2つ目のレコードの値を取得す...
-
NULLを含む文字列の結合で...
-
accessでフィールド追加のあと...
-
INT64対応のprintf系関数はあり...
-
フィールド名をループの添え字...
-
CurrentRecord について
-
ADOでNullフィールドの抽出
-
ACCESSで視覚的タイムテーブル...
-
アクセスでADO 並べ替えが適用...
-
DataTableに特定のフィールドが...
-
テーブルのデータ型の変更がで...
-
Access Dcount関数で引数が指定...
-
AccessVBAで他テーブルのデータ...
-
ファイル名の一部削除について
-
VBA 変数名に変数を使用したい。
-
『列名 '担当者CD' があいま...
-
VB2010で、選択した系列を最前...
-
AccessからExcelへエクスポート...
-
EXCELのVBAでLenB関数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
INT64対応のprintf系関数はあり...
-
accessでフィールド追加のあと...
-
Accessのフィールド名に半角括...
-
2つ目のレコードの値を取得す...
-
クリスタルレポートで文字列の...
-
クリスタルレポート(8.5)の書式...
-
DataTableに特定のフィールドが...
-
日付と文字列を条件としてDLook...
-
Access 2010で実行時エラー3061
-
AccessのDAOでフィールド名を配...
-
ADOでNullフィールドの抽出
-
NULLを含む文字列の結合で...
-
Access VBA 添付型フィールド
-
ACCESSで視覚的タイムテーブル...
-
クリスタルレポートの式フィー...
-
ACCESSデータベースにV...
-
テーブルのデータ型の変更がで...
-
criteria の読み方
-
Access クエリで変数を参照する...
-
ACCESSで日別集計をする場合
おすすめ情報