Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

文字列の文字数、または変数の格納に必要なバイト数を含む Long を返します。

構文

Len( string | varname)

Len 関数の引数は次のとおりです。

引数

説明

string

任意の有効な文字列式。 string に Null が含まれる場合は、Null が返されます。

varname

任意の有効な変数名。 varname に Null が含まれる場合は、Null が返されます。 varname が Variant の場合は、Len はそれを String と同じように扱い、含まれる文字数を常に返します。

解説

使用できる 2 つの引数のうちどちらか 1 つだけを常に、指定する必要があります。 ユーザー定義型では、Len はファイルに書き込まれるサイズを返します。

注:  文字列に含まれるバイト データでは、2 バイト文字セット (DBCS) 言語のように、LenB 関数を使います。 LenB は、文字列の文字数を返すのではなく、その文字列を表すために使われるバイト数を返します。 ユーザー定義型では、LenB はメモリ内でのサイズを返し、要素間のスペースを含みます。 LenB を使うサンプル コードについては、例の 2 番目の例を参照してください。

注:  Len は、ユーザー定義データ型の可変長文字列で使うと、実際に必要な記憶域バイト数を決定できないことがあります。

クエリの例

結果

SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales;

フィールド "ProductID" から値を返し、列 ProductLen 内の値の長さを返します。

VBA の例

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

1 番目の例では、Len を使って、変数の格納に必要な、文字列の文字数またはバイト数を返します。 CustomerRecord を定義する Type...End Type ブロックは、クラス モジュールに出現する場合は、Private キーワードを前に付ける必要があります。 標準モジュールでは、Type ステートメントは Public でもかまいません。

Type CustomerRecord    ' Define user-defined type.    ID As Integer    ' Place this definition in a     Name As String * 10    ' standard module.    Address As String * 30End TypeDim Customer As CustomerRecord    ' Declare variables.Dim MyInt As Integer, MyCur As CurrencyDim MyString, MyLenMyString = "Hello World"    ' Initialize variable.MyLen = Len(MyInt)    ' Returns 2.MyLen = Len(Customer)    ' Returns 42.MyLen = Len(MyString)    ' Returns 11.MyLen = Len(MyCur)    ' Returns 8.

2 番目の例では、LenB とユーザー定義関数 LenMbcs を使って、文字列の表現に ANSI が使われている場合に、文字列のバイト文字数を返します。

Function LenMbcs (ByVal str as String)    LenMbcs = LenB(StrConv(str, vbFromUnicode))End FunctionDim MyString, MyLenMyString = "ABc"' Where "A" and "B" are DBCS and "c" is SBCS.MyLen = Len(MyString)' Returns 3 - 3 characters in the string.MyLen = LenB(MyString)' Returns 6 - 6 bytes used for Unicode.MyLen = LenMbcs(MyString)' Returns 5 - 5 bytes used for ANSI.

文字列関数とその使い方

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。