【初心者向け】クエリでレコードを並べ替える

[Access 2016/2013/2010]

クエリのレコードを思い通りの順序で表示するために、[並べ替え]の基本を押さえましょう。ここでは、図1のクエリについて、

  1. 単一フィールドを基準とした並べ替え:[会員名カナ]順
  2. 左側のフィールドを優先した並べ替え:[会員ランク]→[年齢]順
  3. 右側のフィールドを優先した並べ替え:[会員ランク]→[登録日]順

の3通りの並べ替え方法を紹介します。

図1 このクエリのレコードを並べ替える。

スポンサーリンク

「昇順」「降順」とは?

並べ替えの操作に入る前に、「昇順」「降順」の意味を覚えておきましょう。

昇順」とは、「小さい順」のことです。「小さいほうから大きいほうへと昇っていく」ことをイメージすると覚えやすいと思います。

  • 10 → 20 → 30
  • 2018/1/1 → 2018/1/2 → 2018/1/3
  • あ → い → う → え → お

反対に、「降順」は「大きい順」です。「大きいほうから小さいほうへと降りていく」イメージです。

  • 30 → 20 → 10
  • 2018/1/3 → 2018/1/2 → 2018/1/1
  • お → え → う → い → あ

ケースA:単一フィールドを基準に並べ替える

まずは、氏名をアイウエオ順に並べ替えてみましょう。それには、氏名のふりがなが入力された[会員名カナ]フィールドで「昇順」の並べ替えを行います。

クエリのデザインビューを表示し、[会員名カナ]フィールドの[並べ替え]欄で[昇順]を選択しましょう(図2図3)。

図2
1)クエリのデザインビューで、[会員名カナ]フィールドの[並べ替え]欄をクリックする。
2)[▼]ボタンが表示されるので、それをクリックする。

図3
3)並べ替えの選択肢が表示される。
4)[昇順]をクリックする。

データシートビューに切り替えると、レコードが[会員名カナ]のアイウエオ順に表示されます(図4)。

図4 [会員名カナ]順に表示された。

なお、レコードを降順に並べ替えるには、図33)のリストから[降順]を選びます。また、並べ替えを解除するには、図33)のリストから[(並べ替えなし)]を選びます。

メモ

漢字のフィールドはアイウエオ順に並ばない
漢字データのフィールドで[昇順]の並べ替えを行っても、アイウエオ順になりません。漢字データを並べ替えたいときは、その読みを入力したフィールドを基準に並べ替えをしてください。
並べ替えの対象となる可能性がある漢字データのフィールドでは、テーブルの設計時に必ずふりがなのフィールドを用意しておきましょう。

ケースB:複数のフィールドを基準に並べ替える(左側のフィールドを優先)

複数のフィールドで並べ替えを指定した場合は、左側のフィールドの並べ替えが優先されます。例えば、図5のように、[会員ランク]フィールドで[昇順]、[年齢]フィールドで[降順]を設定した場合、左側のフィールドである[会員ランク]の並べ替えが優先されます。

図5 [会員ランク]フィールドと[年齢]フィールドで並べ替えの設定を行うと、左側にある[会員ランク]の並べ替えが優先される。

図5のクエリを実行すると、図6のようになります。優先度の高い[会員ランク]のABC順にレコードが並び、同じ[会員ランク]の中では[年齢]の高い順に並びます。

図6 レコードが[会員ランク]のABC順に並ぶ。[会員ランク]が同じ場合は、[年齢]の高い順に並ぶ。

ケースC:複数のフィールドを基準に並べ替える(右側のフィールドを優先)

最後に、右側に表示するフィールドを優先する並べ替えの方法を紹介します。ここでは、[会員ランク]→[登録日]順に並べ替えます。

まず、クエリのデータシートに表示する順番でフィールドを配置し、最優先するフィールドの並べ替えを設定します(図7)。

図7
1)データシートに表示する順番でフィールドを配置する。
2)最優先するフィールドの並べ替えを設定する。

次に、2番目に優先するフィールドの並べ替えを設定するのですが、図7の[登録日]フィールドで設定してしまうと、[登録日]が[会員ランク]の左に配置されているため、目的の優先度とは逆になってしまいます。

そこで、図8のように、列の末尾にもう一つ[登録日]を配置し、並べ替えの設定を行います。その際、[表示]のチェックを外しておくことがポイントです。そうすれば、並べ替えの優先度は[会員ランク]→[登録日]の順になり、なおかつ末尾列の[登録日]は非表示になります。

図8
3)末尾にもう一つ[登録日]フィールドを配置する。
4)並べ替えの設定をする。
5)[表示]のチェックを外す。

図8のクエリを実行すると、図9のようになります。優先度の高い[会員ランク]のABC順にレコードが並び、同じ[会員ランク]の中では[登録日]の早い順に並びます。

図9 レコードが[会員ランク]のABC順に並ぶ。[会員ランク]が同じ場合は、[登録日]の早い順に並ぶ。

スポンサーリンク

関連記事