ACCESS StrConv関数で半角と全角を変換する方法
ACCESSでテキストデータの半角と全角が混在して困った経験はないでしょうか。
テーブルのレコードに入力される値はある程度制御可能ですが、一番困るのは外部からインポートするデータで半角と全角が混在しているときかと思います。
今回は、StrConv関数を使って半角と全角を変換する方法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSをもっと使いこなしたい方向けにACCESSの関数をご紹介していきます。
StrConv関数の構文
StrConv関数は文字列を変換するための関数です。
以下の構文で利用します。
StrConv ( 文字列 , 変換方法 )
2つ目の引数の変換方法は数値で指定でき、それぞれ以下の意味を持っています。
数値 | 変換内容 | 元 | 変換後 |
1 | 大文字に変換 | aA bB cC | AA BB CC |
2 | 小文字に変換 | aA bB cC | aa bb cc |
3 | 単語の先頭文字のみを大文字、その他を小文字に変換 | aA bB cC | Aa Bb Cc |
4 | 半角を全角に変換 | aA bB cC | aA bB cC |
8 | 全角を半角変換 | aA bB cC | aA bB cC |
16 | 平仮名をカタカナに変換 | てすとテスト | テストテスト |
32 | カタカナを平仮名に変換 | てすとテスト | てすとてすと |
StrConv関数の使用例
それではいくつか、StrConv関数の使用例を見ていきましょう。
サンプルデータ
今回は、サンプルデータとして以下のテーブルを準備しました。
単純にテキストだけが格納されたテーブルです。
このテーブルの「元の文字列」フィールドに入力されたテキストデータをStrConv関数で変換していきます。
クエリでの使用例
最初にクエリでの使用例です。
クエリでは、デザインビューでこの関数を利用します。
クエリをデザインビューで新規作成しましょう。
クエリのデザインビューで上段部分(フィールドリスト)にサンプルテーブルをドラッグアンドドロップします。
そして、フィールドリストにおいたテーブルのフィールドから「元の文字列」フィールドを下段のデザイングリッドへドラッグアンドドロップします。
この「元の文字列」に対して、StrConv関数で変換した値を表示するフィールド(列)を追加していきます。
例えば全角を半角へ変換する場合は、フィールド欄に
全角を半角へ変換: StrConv([元の文字列],8)
と記載します。
「:」より左側はフィールド名ですので自由に命名することが可能です。
「:」より右側は今回ご紹介したStrConv関数ですね。
クエリで使用する場合は、変換対象の文字列をしているする際に、フィールド名を[]で囲うのを忘れないようにしましょう。
データシートビューで結果を見ると下記のようになります。
右側の列に全角を半角に変換した結果が表示されていますね。
このように、クエリでは新規フィールドでStrConv関数を利用します。
VBAでの利用方法
VBAで使用する際の例も記載します。
以下のプロシージャでは、test_strconvテーブルのID:1レコードの「元の文字列」を全角から半角へ変換しています。
Public Sub strconv_test()
Dim test_str As String
test_str = StrConv(DLookup("元の文字列", "test_strconv", "ID = " & 1), 8)
MsgBox test_str
End Sub
「test_str」という文字列型の変数を作成し、その変数に、Dlookupで求めたテーブルの値を、StrConv関数で全角から半角へ変換して格納しています。
最後にメッセージボックスで変数の値を表示させています。
上記のプロシージャを実行すると
このように表示されます。
以上、StrConv関数で半角と全角を変換する方法をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。