| Microsoft Access Club >Access一日一見 >このページ >次頁 <前項 | |
|
Len関数は、文字数を求める時に重宝します。LenB関数は、バイト数を求める時に使用します。例えば、Len("東京都") では、3 が戻り値として返されます。LenB("東京都") なら 6 が戻り値として返されます。 バイト情報量の単位で、1バイトは8ビットに相当します。コンピュータは情報の記憶や処理、伝達をバイト単位で行なうケースが多々あります。 Unicode と ANSIAccess2000からUnicodeが採用されました。これは、全ての文字(全角、半角、漢字)を2バイトであらわします。逆に、ANSI形式は、全角文字と漢字は2バイト、半角文字は1バイトで表します。 Access2000以降のLenB関数よく、解説書で「LenB関数は、半角なら1バイト、全角なら2バイトで戻り値を返します」と記載されていますが、Access2000以降、この記述は誤りです。 しかし、Unicode形式の文字をANSI形式の文字を変換する関数が用意されているので、これを利用すると無事うまくいきます。 StrConv関数Accessで用意されている関数として、StrConv関数があります。この関数は、下記の引数が用意されています。
サンプルプロシージャその1下記のようなサンプルプロシージャをイミディエイトウィンドウで実行します。 Function samplepro()
Debug.Print Len("ABc") '---A
Debug.Print LenB("ABc") '---B
Debug.Print LenB(StrConv("ABc", vbFromUnicode)) '---C
End Function
実行結果:プロシージャの実行結果は、以下のとおりです。
サンプルプロシージャその2下記のようなサンプルプロシージャをイミディエイトウィンドウで実行します。 Function samplepro2()
Debug.Print Len("今年の目玉は、Accessです。") '---D
Debug.Print LenB("今年の目玉は、Accessです。") '--E
Debug.Print LenB(StrConv("今年の目玉は、Accessです。", vbFromUnicode)) '--F
End Function
実行結果:プロシージャの実行結果は、以下のとおりです。
関連ページ2004/04/15
|