Access。クエリで、フリガナから「ア行」など行単位でデータ抽出したい
<Access>
様々な条件でクエリをつくって、それをエクスポートするなど、作業をするわけですが、抽出するにあたり、抽出方法が色々あって、ちょっと知っているだけで、簡単に抽出することができたりします。
例えば、次のようなテーブルがあります。
やりたいことは、「フリガナ」のフィールドから、「カ行」のデータを抽出したいとしたらどうしたらいいのでしょうか?
簡単そうに思えますが、一筋縄ではいきません。
日頃から五十音順というのが頭の中にあるので、カキクケコだなと認識はできますが、実際抽出しようとすると、考えてしまいます。
仮に、左から一文字目が「カ」だったら抽出対象のような条件を作るとしたら、最低でも5回繰り返さないといけません。
とても面倒です。
Excelの抽出でも、今回の「カ行」のような五十音順の行抽出は面倒です。
ところが、Accessだと、ワイルドカードの「*」をつかうことで、とてもシンプルな抽出条件で、クエリをつくることができます。
それでは、クエリを作っていきます。
作成タブの「クエリデザイン」をクリックします。
テーブルを選択したら、今回はすべてのフィールドを使ってクエリを作っていきます。
五十音順に並べるとわかりやすいので、「並び替え」条件に「昇順」の設定をします。
「抽出条件」に「"[カ-ゴ]*"」と入力します。
確定すると、Likeが自動的につきます。
自分で入力してもいいのですが、入力ミスをする可能性がありますので、Accessがやってくれるところは、任せてしまうほうがいいですね。
Like "[カ-ゴ]*" となっていることを確認したら、実行して確認してみましょう。
「*」ワイルドカードをつかうことで、「カ行」のように、五十音の行で抽出することができました。
今回の抽出条件のポイントは2つあって、1つ目のポイントは、Like "[カ-ゴ]*"。
「”(ダブルコーテーション)」で囲んであげないとメッセージが表示されたり、パラメータクエリとして認識されたりと、ちょっとした入力ミスで、実行することができませんので、注意しましょう。
そして、もう一つのポイントは、ア行のように、「濁点」がなければ、「あ~お」とするだけでいいのですが、今回のカ行だと、「か~こ」としてしまうと、「濁点」が付いている「ゴ」は抽出対象から外れてしまうので、「濁点」のことも考慮して抽出条件とする必要があります。
Accessでのワイルドカードをつかった、抽出方法は、色々ありますので、確認してみると、意外と現場レベルでつかえる方法があるかもしれません。