ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.005

文字列を半角または全角にする(ExcelのASC/JIS関数のような) 《StrConv》

2003/2007/2010/2013/2016

Excelで使う文字列を半角にするASC関数のような関数がAccessにありますか、というお問い合わせをいただきました。

Accessでは、文字列を変換する関数として、StrConv関数というのがあります。
これがまたなかなか気が利いた関数で、1つの関数でいろいろな変換にまかなえます。

書式を簡単に書くと次のようになります。

  =StrConv([対象のフィールド名],変換タイプ)

変換タイプは数値設定で、半角にする場合は8、全角なら4です。
フィールド[文字A]の全角文字をを半角文字にする場合は

  =StrConv([文字A],8)

として求めます。

ヘルプmemo

<StrConv関数>

対象の文字列の文字種を変換します。
 構文: StrConv(string, conversion [, LCID ] )
 引数:
  string …フィールド名など変換される文字列式を指定
  conversion …定数または値を指定
      vbUpperCase または 1 …大文字に変換(既定値)
      vbLowerCase または 2 …文字列を小文字に変換
      vbProperCase または 3 …文字列内の各単語の先頭の文字を大文字に変換
      vbWide または 4 …文字列内の半角文字を全角文字に変換
      vbNarrow または 8 … 文字列内の全角文字を半角文字に変換
      vbKatakana または 16 …文字列内のひらがなをカタカナに変換
      vbHiragana または 32 …文字列内のカタカナをひらがなに変換
      vbUnicode または 64 …システムの既定のコード ページを使用して、
          文字列を Unicode に変換
      vbFromUnicode または 128 …文字列を Unicode からシステムの既定の
          コード ページに変換
  LCID …システムの LocaleID 値と異なる場合は、LocaleID 値を指定[省略可]

Microsoftのサポート ページ「StrConv 関数」もご参照ください。

関連ヘルプ

2つの日付の期間を求める 《DateDiff》
数値の先頭に0を付け桁を揃えて表示する(ExcelならTEXT関数のような) 《Format》
特定の文字より左部分にある文字列を取り出す 《Left・InStr》
条件に一致するレコードの件数を求める(ExcelならCOUNTIF関数のような) 《Dcount》
DCount、DLookUpなど定義域集合関数について
特定の文字より右部分にある文字列を取り出す 《Right・Instr・Len》