StrConv 関数

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

指定した文字列を変換して、バリアント型 (内部処理形式 StringVariant) で返します。

構文

StrConv(string, conversion [, LCID ] )

StrConv 関数の構文には、次の引数があります。

引数 説明
string 必須。 変換される文字列式を指定します。
conversion 必ず指定します。 整数データ型の値を指定します。 実行する変換のタイプを指定する列挙型の値です。
LCID 省略可能です。 システム LocaleID と異なる場合は、LocaleID。 (既定値はシステム LocaleID)

設定

変換引数の設定は次のとおりです。

定数 説明
vbUpperCase 1 文字列を大文字に変換します。
vbLowerCase 2 文字列を小文字に変換します。
vbProperCase 3 文字列内の各単語の先頭の文字を大文字に変換します。
vbWide * 4* 文字列内の半角文字 (1 バイト) を全角文字 (2 バイト) に変換します。
vbNarrow * 8* 文字列内の全角文字 (2 バイト) を半角文字 (1 バイト) に変換します。
vbKatakana ** 16** 文字列内のひらがなをカタカナに変換します。
vbHiragana ** 32** 文字列内のカタカナをひらがなに変換します。
vbUnicode 64 システムの既定のコード ページを使用して、文字列を Unicode に変換します。 (Macintosh では使用できません。
vbFromUnicode 128 文字列を Unicode からシステムの既定のコード ページに変換します。 (Macintosh では使用できません。

* 東アジア ロケールに適用されます。

** 日本にのみ適用されます。

これらの定数は、Visual Basic for Applications (VBA) によって指定されます。 その結果、実際の値の代わりにコード内の任意の場所で使用できます。 vbUpperCase + vbWide など、相互に排他的な場合を除き、ほとんどの値を組み合わせることができます (vbUnicode + vbFromUnicode など)。 定数 vbWidevbNarrowvbKatakanavbHiragana は、適用されないロケールで使用すると実行時エラーを引き起こします。

正しい大文字と小文字を区別するための有効な単語区切り記号は、Null (Chr$(0)、水平タブ (Chr$(9))、改行 (Chr$(10))、垂直タブ (Chr$(11))、フォーム フィード (Chr$(12))、キャリッジ リターン (Chr$(13))、スペース (SBCS) (Chr$(32)) です。 スペースの実際の値は、DBCS の国/地域によって異なります。

解説

ANSI 形式のバイト配列から文字列に変換する場合は、StrConv 関数を使用する必要があります。 Unicode 形式のバイト配列から変換を行う場合は、代入ステートメントを使用します。

クエリの例

Expression 結果
SELECT strConv(ProductDesc,1) AS Expr1 FROM ProductSales; "ProductDesc" フィールドの値を大文字に変換し、列 Expr1 に表示します
SELECT strConv(ProductDesc,2) AS 小文字 ID FROM ProductSales; "ProductDesc" フィールドの値を小文字に変換し、列小文字 ID で表示します。 すべての単語の最初の文字を "ProductDesc" から大文字に変換し、列 PropercaseID に表示します。 その他の文字はすべて小文字のままです。

VBA の例

次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

この例では、StrConv 関数を使用して Unicode 文字列を ANSI 文字列に変換します。

Dim i As Long
Dim x() As Byte
x = StrConv("ABCDEFG", vbFromUnicode) ' Convert string.
For i = 0 To UBound(x)
    Debug.Print x(i)
Next

文字列関数とその使い方