4/02/2021

Access。クエリで、フリガナから「ア行」など行単位でデータ抽出したい【Line by line】

Access。クエリで、フリガナから「ア行」など行単位でデータ抽出したい

<Access>

様々な条件でクエリをつくって、それをエクスポートするなど、作業をするわけですが、抽出するにあたり、抽出方法が色々あって、ちょっと知っているだけで、簡単に抽出することができたりします。


例えば、次のようなテーブルがあります。


やりたいことは、「フリガナ」のフィールドから、「カ行」のデータを抽出したいとしたらどうしたらいいのでしょうか?


簡単そうに思えますが、一筋縄ではいきません。


日頃から五十音順というのが頭の中にあるので、カキクケコだなと認識はできますが、実際抽出しようとすると、考えてしまいます。


仮に、左から一文字目が「カ」だったら抽出対象のような条件を作るとしたら、最低でも5回繰り返さないといけません。


とても面倒です。


Excelの抽出でも、今回の「カ行」のような五十音順の行抽出は面倒です。


ところが、Accessだと、ワイルドカードの「*」をつかうことで、とてもシンプルな抽出条件で、クエリをつくることができます。


それでは、クエリを作っていきます。


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


テーブルを選択したら、今回はすべてのフィールドを使ってクエリを作っていきます。


五十音順に並べるとわかりやすいので、「並び替え」条件に「昇順」の設定をします。


「抽出条件」に「"[カ-ゴ]*"」と入力します。


確定すると、Likeが自動的につきます。

自分で入力してもいいのですが、入力ミスをする可能性がありますので、Accessがやってくれるところは、任せてしまうほうがいいですね。


Like "[カ-ゴ]*" となっていることを確認したら、実行して確認してみましょう。


「*」ワイルドカードをつかうことで、「カ行」のように、五十音の行で抽出することができました。


今回の抽出条件のポイントは2つあって、1つ目のポイントは、Like "[カ-ゴ]*"。


「”(ダブルコーテーション)」で囲んであげないとメッセージが表示されたり、パラメータクエリとして認識されたりと、ちょっとした入力ミスで、実行することができませんので、注意しましょう。


そして、もう一つのポイントは、ア行のように、「濁点」がなければ、「あ~お」とするだけでいいのですが、今回のカ行だと、「か~こ」としてしまうと、「濁点」が付いている「ゴ」は抽出対象から外れてしまうので、「濁点」のことも考慮して抽出条件とする必要があります。


Accessでのワイルドカードをつかった、抽出方法は、色々ありますので、確認してみると、意外と現場レベルでつかえる方法があるかもしれません。