2/01/2021

Access。都道府県順のように、決まった順番で並び替えをしたいけど、どうしたらいいの?【SORT】

Access。都道府県順のように、決まった順番で並び替えをしたいけど、どうしたらいいの?

<クエリ:SORT>

Accessのテーブル。インポートした外部データだったりすると、意外とフィールドが無くて、店舗コード順などで並び替えをしたいのに、出来ないことがあります。


かといって、並び替えをしたいだけなのに、テーブルにフィールドを新しく追加して、データを追加してという作業を行うのは、ちょっと面倒です。


そこで、クエリを使うことで、この問題は比較的簡単に解決します。

ただ、クエリを使うといっても、Switch関数を使うとすると、これまた、面倒です。


今回は、次のテーブルを用意しております。


この店舗フィールドを「新宿・品川・渋谷・横浜」という順番で並べたいわけです。


Excelだと、このようなことをしたい場合には、オプションの詳細設定にある「ユーザー設定リストの編集」から、ユーザー設定リストに追加すれば対応することができます。


このユーザー設定リストは、Accessにはないので、Excelと同じ対応方法がつかえないわけです。


なので、もう一つテーブルを用意します。

二つ目のテーブルは、独自の並び替えを行うためのテーブルです。


Excelのユーザー設定リストのようなものです。今回は、「新宿・品川・渋谷・横浜」という順番で並び替えをしたいわけですが、正確には、店舗NO順にしたいわけです。


ポイントは、このテーブルの順番で並び替えを行うことになりますから、店舗NOでも店舗名でもなく、さらに独自な順番というのがあれば、その順番のフィールドを用意する必要があります。


それでは、用意した二つのテーブルをつかって、クエリを作っていきます。

作成タブの「クエリデザイン」をクリックします。


「T店舗売上」テーブルと「T店舗名簿」テーブルを追加します。


両方のテーブルにある、共通しているフィールドを連結してリレーションシップを設定します。

今回は、並び替えを行いたいテーブルのフィールドを全部使用します。


最後尾に、並び替えのキーとなるフィールドである「T店舗名簿」の店舗NOを追加します。

最後尾に追加した、「店舗NO」フィールドは、表示させる必要がないので、非表示します。

そもそも、やりたいことは、並び替えをすることなので、「昇順」で並び替えを設定します。


実行して、確認してみましょう。


希望通りの「店舗NO」順で並び替えたクエリをつくることができました。

このように、独自の順番で並び替えを行いたい場合には、テーブルを用意することで、対応することができます。