こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ORDERBY句で整列させたデータとプレビューが違う

Windows2000 SQLServer Access2000で開発しています。

以下、プログラムの抜粋より、

SQL2 = "Delete from T_W会員別データ"
CurrentProject.Connection.Execute SQL2

SQL3 = "Insert into T_W会員別データ " & _
"Select 会員番号, 契約番号, COUNT(*) as 請求件数 " & _
"from T_統合データ " & _
"Where ( 扱月 = '" & txt扱月 & "' and '" & 270000 & "' <= 確認番号 and 確認番号 <= '" & 279999 & "' ) " & _
SQL3 = SQL3 & "Group by 契約番号, 会員番号 "
SQL3 = SQL3 & "Order by 契約番号 "
gMainConnection.Execute SQL3

DoCmd.OpenReport "R_チェック用一覧", acPreview, , whereCond

と作成しているのですが、
T_W会員別データ では「契約番号」の昇順で整列しているのですが、
R_チェック用一覧のプレビューが表示されると、会員番号で昇順整列
されます。変更しないといけない部分はどこになるのでしょうか?

投稿日時 - 2007-06-08 14:32:05

QNo.3066831

すぐに回答ほしいです

質問者が選んだベストアンサー

>DoCmd.OpenReport

レポートのデータソースにSQLを指定する場合、SQLの結果に関わらず「データソースの並び順に関係なく、レポートにフィルタや並び順が指定されていると、それが有効」になります。

て言うか、データソースに「ORDER BY」を含むと、データベースから抽出する時にソートが行なわれ。レポートを表示&印刷する時にもう一度ソートが行なわれ、実行速度が落ちるし、ソートが1回無駄です。

SQLからはソート指令「ORDER BY」を削除し、レポートの「並び順」にソートキーを指定するようにしましょう。

投稿日時 - 2007-06-08 14:59:17

お礼

ご教授ありがとうございました。
疑問点が無事解決しました。
VBから組むのではなく、オブジェクト⇒レポートから
並び替え/グループ化の設定を選んで作成することを
知りませんでした。
VB上ではORDERBY句を外して稼動させています。

投稿日時 - 2007-06-11 10:48:03

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こんちは。

えーと。。。ソースはあんまし読まないで~の回答ですけど。。。

Accessの方はあまり触らないのでちょっと分からないですけど、SQLServerの場合、select ~ order by した結果と、テーブルの中身を見るために、テーブルを右クリックして開いた場合は表示される内容は違いますよね。

よく自分が昔言われていたことは。。。
「表示する際にも、ちゃんとorder byはしろ」って言われてましたよ。

。。。参考になりますかね??

投稿日時 - 2007-06-08 14:39:19

お礼

ご教授ありがとうございました。
疑問点が無事解決しました。

投稿日時 - 2007-06-11 10:48:34

あなたにオススメの質問