Accessでデータ処理をする際に、全角文字を半角文字に変換したり、ひらがなをカタカナに変換したりする機会があります。今回は、クエリを用いた効率的なデータ処理方法を紹介します。
文字列の変換 StrConv関数
Accessには、文字列を目的に合わせて変換するための関数としてStrConv関数があります。以下にその内容を示します。
StrConv ( string, conversion [, LCID ] )
引数 | 説明 |
string | 必須。 変換される文字列式を指定します。 |
conversion | 必須。 整数データ型の値を指定します。 実行する変換のタイプを指定する列挙型の値です。 |
LCID | 省略可能です。 LocaleID (システムロケールとは異なる場合)。 (既定値はシステム LocaleID) |
■conversion引数の内容
定数 | 値 | 内容 |
vbUpperCase | 1 | 文字列を大文字に変換します |
vbLowerCase | 2 | 文字列を小文字に変換します |
vbProperCase | 3 | 文字列の各単語の先頭の文字を大文字に変換します |
vbWide | 4 | 文字列内の半角文字を全角文字に変換します |
vbNarrow | 8 | 文字列内の全角文字を半角文字に変換します |
vbKatakana* | 16 | 文字列内のひらがなをカタカナに変換します |
vbHiragana** | 32 | 文字列内のカタカナをひらがなに変換します |
* 東アジア ロケールに適用されます。
** 日本にのみ適用されます。
StrConv関数の具体的な使い方
ここからは、StrConv関数の具体的な使い方を見ていきましょう。
今回はサンプルテーブルとして次の条件で作成をし、サンプルデータを登録します。
■サンプルテーブルの構造
フィールド名 | データ型 |
ID | オートナンバー型 |
氏名 | 短いテキスト |
年齢 | 数値型 |
全角フリガナ | 短いテキスト |
半角フリガナ | 短いテキスト |
従業員コード | 短いテキスト |
■サンプルデータ
ID | 氏名 | 年齢 | 全角フリガナ | 半角フリガナ | 従業員コード |
1 | 鈴木太郎 | 24 | スズキ タロウ | スズキ タロウ | ABZabz |
2 | 佐藤次郎 | 39 | サトウ ジロウ | サトウ ジロウ | CDYcdy |
3 | Smith.W | 42 | Smith.W | Smith.W | EFXefx |
データ処理用のクエリ作成と実行
さて、ここまででサンプルデータを作成してきましたが、ここからは実際に文字列がどのように変換できるかを、クエリを用いて見ていきましょう。クエリを作成し、クエリツールのデザインタブから、サンプルテーブルを選択し、【フィールド】項目に必要な事項を記載していきます。今回は、以下のようにフィールドを設定します。なお、第2引数は上述のconversion引数の内、値を適用しています。
・全角フリガナ: サンプルテーブルのフィールドを選択
・半角フリガナ: サンプルテーブルのフィールドを選択
・従業員コード: サンプルテーブルのフィールドを選択
・大文字変換: StrConv([従業員コード],1): 従業員コードを全て大文字で表記
・小文字変換: StrConv([従業員コード],2): 従業員コードを全て小文字で表記
・全角変換: StrConv([半角フリガナ],4): 半角フリガナを全て全角で表記
・半角変換: StrConv([全角フリガナ],8): 全角フリガナを全て半角で表記
・ひらがな変換: StrConv([全角フリガナ],32): カタカナをひらがなで表記
実際に作成したクエリを図1に示します。


図2には、文字列を変換した結果を示しています。
いかがでしょうか。小文字の文字列は大文字に、大文字の文字列は小文字に、半角は全角に、逆に全角は半角に、そしてカタカナはひらがなにそれぞれ変換できています。
まとめ
今回は、文字列の変換方法としてStrConv関数について紹介をしました。Accessでは、基本となる情報のみを登録し、類似データについては、StrConv関数等を用いて必要な情報に加工することで、データベースのスリム化を図りつつ、必要な情報を瞬時に処理することも可能です。著者も、データベース情報をクエリと備え付けの関数を用いて処理し、業務効率の改善を図っていますので、是非皆さんにも活用していただければと思います。
スポンサーリンク
コメント