ACCESS レポートの並べ替えがおかしいときの対処法

レポートの並べ替えがおかしいときの対処法

ACCESSのレポートでは複数のレコードを並べて表示することが多くあります。
その際、指定した並べ替え条件で並べたいのに、うまくいかないということがありませんか。

今回は、レポートの並べ替えがおかしいときの対処法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。

レポートの並べ替えがおかしいときにチェックするポイント

ACCESSのレポートの並べ替えがどうしても意図したとおりにならない場合に一番にチェックするポイントは、レポート自体の並べ替え設定です。
レポートをデザインビューで開くと下段に並べ替えウィンドウが表示されています。

ACCESSのレポートはここでの並べ替え設定が一番優先されます。
クエリやVBAで並べ替えを制御していても、レポートの並べ替え設定が行われているとその他の設定が反映されませんので注意してください。

レポートの並べ替え

レポートには表形式で複数のレコードを表示するケースがあります。
例えば、以下のような売上の一覧表を作成してみました。

このレポートではレコードが売上日順に並んでいません。
そこで、売上日の昇順でレポートを並べ替えたいと思います。

この際、レポートのレコードを並べ替える3つの方法があります。

この内、1.の方法でレポートの並べ替え設定をしている場合は特に問題はありません。
一方で、2.や3.の方法でレコードソース自体を並べ替えた場合は注意が必要です。

それは、レコードソースの並べ替えよりも、レポートで設定した並べ替え設定の方が優先されるためです。
これを見落とすと、どれだけクエリやVBAで設定を行ってもレポートの並べ替えが思ったとおりにできないということになってしまいます。

以下で実際に例を示します。

クエリを使ってレポートの並べ替えをする場合

まずはレポートの元データ(レコードソース)となるクエリを準備しました。

売上日ソートという名称のクエリで、TRN_売上サンプルという売上データが入ったテーブルを元に、売上日を昇順で並べ替えています。
データシートビューで見ると以下のように、売上日順にレコードが並んでいることが分かります。

このクエリを元にレポートを作成します。
今回はレポートウィザードを使ってレポートを作成しました。

レポートウィザードの最初にレコードソースとするクエリを選択できますので、先ほど作成した「売上日ソート」クエリを指定します。

このようにして作成したレポートが以下です。
クエリで設定した通り、売上日の昇順にレコードが並んでいますね。

ここで、レポートをデザインビューにして並べ替え設定を変更します。

単価の昇順に設定してみました。
印刷プレビューで結果を見てみましょう。

このように、クエリの並べ替え設定よりもレポートの並べ替え設定が優先されて、単価順で表示されます。
クエリでの並べ替え設定を生かしたい場合は、レポートの並べ替え設定を解除しておくようにしましょう。

VBAを使ってレポートの並べ替えをする場合

次に、VBAを使った場合です。
先ほどのレポートを開く際に、VBAで売上日順に並べ替えをしてみます。

レポートの「読み込み時」に以下のイベントプロシージャを設定しました。

売上日で並べ替える命令文です。
では、レポートを開いてみましょう。

ここでもやはり、レポートに設定した単価順での並べ替えが優先されます。
VBAでの並べ替えを適用したい場合には、レポートの並べ替え設定を解除しておきましょう。

以上、レポートの並べ替えがおかしいときの対処法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。