Access。フリガナを全角カタカナ表示から、ひらがな表示にするには?
<StrConv関数>
Accessで、氏名のフリガナを表示させるには、テーブル設定のフィールドプロパティを使って、
氏名の入力時にフリガナも入力してくれる、入力支援を設定しておくのですが、
入力後に、全カタカナで表示されているフリガナを、
ひらがなに変換するにはどうしたらいいのでしょうか?
Excelでは、PHONETIC関数を使って、ふりがなを表示させてから、
「ふりがなの表示非表示」にある、ふりがなの設定で、
ひらがなに変える事で、表示を、全角カタカナから、
ひらがなに変更することが出来ますよね。
ではAccessでは、どのようにしたらいいのでしょうか?
まず、次のクエリがあります。
データシートビューで確認してみましょう。
このクエリのシメイフィールドは、全角カタカナで表示されていますね。
これを、ひらがなに変更していきます。
そこで、登場するのが、Accessの関数である。
【StrConv関数】(ストリングコンバート関数)
を使っていきます。
このStrConv関数は、とても使い勝手がいいというか、
守備範囲が広いというか、Excelにも欲しい関数ですね。
というのも、今回は、全角カタカナをひらがなに変更しますが、
StrConv関数だけで、アルファベットを大文字に変換したり、
半角文字を全角文字に変換したりすることが、
この関数一つで設定することが出来るのです。
Excelだと、UPPER関数や、LOWER関数など、
その用途で関数を使い分ける必要があります。
つまりそれだけ多くの関数を知らないといけないのですが、
AccessはStrConv関数だけでOKなのです。
では、クエリを修正していきます。
まずは、データシートビューで確認してみましょう。
ひらがなフィールドは、全角カタカナではなくて、ひらがなで表示されていますね。
今回作成したフィールドは、
ひらがな: StrConv([シメイ],32)
StrConv関数の引数で、32というのがありますが、これはいったい何なのか?
StrConv関数の構造は、StrConv([フィールド名],変換形式)となっていて、
変換形式のコードを使い分ける事によって、
全角カタカナをひらがに変更するようなことが出来ます。
なお、変換形式は、下記のように設定されています。
1 アルファベットを大文字に変換
2 アルファベットを小文字に変換
3 先頭の文字を大文字に変換
4 半角文字を全角文字に変換
8 全角文字を半角文字に変換
16 ひらがなをカタカナに変換
32 カタカナをひらがなに変換
と設定されていますので、
Excelのようにケースごとに関数がことなるのではなく、
変換形式のコードを変えることで、表示を変更することができます。
なお、ひらがなを、半角カタカナにするのには、変換形式を
8+16
とすれば、大丈夫です。
このように、Accessの関数には、Excelと異なる関数がありますので、
覚えておくといいかもしれませんね。