アクセスの並び替え(ソート)について(テーブル)
こんにちは、 篠原です。
アクセス(Access)は個人的には、なかなか使う機会が無いのですが、仕事上での経験をもとに、使い方のご紹介をしていきたいと思います。
今回は、データベースを使う上で避けて通れない機能の一つで、「並び替え(ソート)」についてです。
使用するデータベースソフトはAccess2013を使用します。
並び替える意義
データを並び替えることは、そのデータに規則性を与え処理のパターン化や次に来るべきデータの予測をするの非常に役に立ちます。
- 図1-1 例えば、「図のような単純な表がある時、この中に有る県名は全部で何件か(ただし重複したものは除く)」、という作業する場合に、順序が無作為に並んでいる場合と順番に並んでいる場合とではその作業の複雑さを創造することはたやすいでしょう。
もし数えるべきデータが順番に並んでいない場合は、データを取り出した順に種類別に「正」の字を書いていくとか、こんなところでしょうか。しかし、データが順番に並んでいるとしたら、その種類が切り替わるところを「1」として数えればいいので、途中のデータを気にする必要はなくなります。
しかし、何千何万…となると話は変わってきますよね。
- 図2-1 図1-1を県名で並び替えた場合の例を示します。図1-1の例の問に対する答えは5県ということになります。このくらいの量でしたら、見ればすぐにわかりますよね。でも、図1-1の状態ではそうはいかないですね。
この例から分かるように、並び替え(ソート)をしておくことは、作業の効率化に大きく寄与することが分かります。
一つの並び替え条件を指定する
では、Accessでの並び替え(ソート)の方法です。
まず、並べ替えをしたいフィールド(ここでは、「商品C」のことです)のデータ部分または、フィールド名をクリックします。
- 図5-1 「商品C」の項目が昇順に並び替えられました。この時、この「商品C」と同じ行に有るデータも一緒に並び替えされています。この同じ行に有るフィールドの集まりのことを「レコード」と言い、Accessでは、データを処理する場合、この「レコード」を単位に処理を行います。
二つの並び替え条件を指定する
では、このテーブルで、並べ替えの条件(キー)が二つあった場合はどうでしょう。
例えば、「日付」順、「商品C」順に並び替えるには以下のようにします。
- 図6-1 「日付」フィールド名にマウスカーソルを置きます。マウスカーソルが下向きの黒い矢印に変わります。
- 図6-2 そのまま、マウスカーソルを「商品C」までドラッグします。マウスの左ボタンを離します。これで、二つのフィールドが選択されました。ここで図4-1の操作を行います。
- 図7-1 並び替えが実行され、二つのフィールドで並べ替えが行われました。結果を見ると、まず日付が2013/5/13から2013/5/14の順番で並び、その日付の中で「商品C」が1から7までの順番に並んでいるのが分かります。
並び替え条件の優先順位を考える
ここで、並び替えの条件(キー)を「商品C」順、「日付」順に並び替えをする場合はどうなるでしょうか。
- 図8-1 並び替えの条件(キー)には並び替えの優先順位があります。図6で言うと、優先順位が高いのは「日付」で、次の優先順位が「商品C」ということになります。優先順位の高い条件(キー)ほど、図6で言うと左側の列位置に配置しなければなりません。
ここで、この条件を満たすために、フィールドを一時的に移動させます。
移動したいフィール名の部分(ここでは「商品C」)をクリックします。列全体に赤枠が表示され選択された状態になります。マウスカーソルの位置はそのまま、「日付」フィールドの左側までドラッグをし、マウスの左ボタンを離します。
- 図9-1 フィールドの位置が変わりました。
これで準備は完了です。後は並べ替えを行うだけです。
第一の条件(キー)を「商品C」、第二の並び替え条件(キー)を「日付」にし、図6、図7の方法で操作すれば、目的の順番に並べ替えることが出来ます。
今回は、テーブルを使っての並べ替え(ソート)を行いました。並び替えの順番は「昇順」を条件としていました。並び替えは、並び替えの順序に「昇順」と「降順」という指示が出来るようになっています。今回紹介した方法では、どちら一種類の並び方(順序)しか指定することが出来ません。「昇順」「降順」を混在させて並び替えを行わなければならないことも現実の処理では多くあることです。これを解決するためには、「クエリー」という機能を使わなければなりません。
そこで、次回は、クエリーを使った並び替えを解説します。
「パソコン無料相談」?も見てね。