1/12/2022

Access。クエリ。「タ・ダ」などのフリガナ濁点問題を解決する抽出方法があります。【extract】

Access。クエリ。「タ・ダ」などのフリガナ濁点問題を解決する抽出方法があります。

<Access:Like演算子>

フリガナを使った抽出で、ちょこちょこ問題になるのが、フリガナ濁点問題です。


例えば、「中田さん」。


ナカタさんなのかナカダさんなのかという「タ・ダ」の違いのことです。


抽出するときに、氏名の漢字で抽出すればいいのでと思っても、漢字は漢字で「中田さん」なのか「仲田さん」なのかというケースも考えられます。


このようなケースの場合、どのようにしたら、クエリでうまく抽出することができるのでしょうか?


OR条件を使う方法も考えることもできますが、Like演算子で「[]」を組み合わせることで、抽出するクエリをつくることができます。


それでは、クエリデザインをつかって、クエリをつくっていきましょう。

 

抽出条件に次のような条件を設定します。


Like "ナカ[タダ]*"


まずは実行して確認してみましょう。

 

ご覧のように、「タ」「ダ」のデータのみが抽出することができました。

では、抽出条件を確認しておきましょう。


Like "ナカ[タダ]*"


Like演算子は、あいまい検索を行う時につかう、演算子です。

最後の「*(アスタリスク)」は、ワイルドカードですね。

ワイルドカードを検索文字の最後尾につけることで、検索文字で「始まる」という条件になります。


そして、今回のポイントは「[ ]」の大カッコ(ブラケット)です。

この記号をつかうことで、文字の種類をして、その中の文字と合致するかどうかという判定を行ってくれます。


つまり、今回は、「[ ]」の中に、タとダが入力されていますので、「ナカタ」と「ナカダ」のそれぞれで始まる文字を抽出するという条件がつくれたわけです。


今回のようにフリガナ濁点問題に限らず、一文字だけ違う条件などの場合は、Like演算子と「[ ]」大カッコを組み合わせて抽出条件をつくってみるという方法もあります。