Len-Funktion

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Gibt einen Wert des Typs Long zurück, der die Anzahl der Zeichen in einer Zeichenfolge oder die Anzahl von Bytes enthält, die erforderlich sind, um eine Variable zu speichern.

Syntax

Len(string* | *varname)

Die Syntax der Funktion Len weist die folgenden Argumente auf:

Argument Beschreibung
Zeichenfolge Ein beliebiger gültiger Zeichenfolgenausdruck. Wenn string Null enthält, wird Null zurückgegeben.
Variablenname Jeder gültige Variablenname. Wenn varname Null enthält, wird Null zurückgegeben. Wenn varname ein Variant-Wert ist, behandelt Len es wie eine Zeichenfolge und gibt immer die Anzahl der darin enthaltenen Zeichen zurück.

Hinweise

Eines (und nur eines) der beiden möglichen Argumente muss angegeben werden. Bei benutzerdefinierten Typen gibt Len die Größe zurück, die in die Datei geschrieben wird.

Hinweis

Verwenden Sie die LenB-Funktion mit Bytedaten in einer Zeichenfolge, wie z. B. bei Sprachen mit Doppelbytezeichen. Anstelle der Anzahl der Zeichen in einer Zeichenfolge gibt LenB die Anzahl der Bytes zurück, mit der diese Zeichenfolge angegeben wird. Bei benutzerdefinierten Typen gibt LenB die In-Memory-Größe zurück, einschließlich Füllzeichen zwischen Elementen. Beispielcode mit LenB finden Sie im zweiten Beispiel unter dem Beispielthema.

Hinweis

Die Len-Funktion kann mitunter nicht die tatsächliche Anzahl der erforderlichen Speicherbytes ermitteln, wenn sie für Zeichenfolgen mit variabler Länge in benutzerdefinierten Datentypen verwendet wird.

Abfragebeispiel

Ausdruck Ergebnisse
SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; Gibt die Werte aus dem Feld "ProductID" und die Länge dieser Werte in den Spalten ProductLen zurück.

VBA-Beispiele

Hinweis

Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

Im ersten Beispiel wird mit Len die Anzahl der Zeichen in einer Zeichenfolge oder die Anzahl der erforderlichen Bytes zum Speichern einer Variablen zurückgegeben. Der Typ... Der Endtypblock, der definiert CustomerRecord wird, muss der Schlüsselwort (keyword) Private vorangestellt werden, wenn er in einem Klassenmodul angezeigt wird. In einem Standardmodul kann eine Type-Anweisung vom Typ Public sein.

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

Im zweiten Beispiel wird mit LenB und einer benutzerdefinierten Funktion (LenMbcs) die Anzahl von Bytezeichen in einer Zeichenfolge zurückgegeben, wenn diese mit ANSI dargestellt wird.

Function LenMbcs (ByVal str as String)
    LenMbcs = LenB(StrConv(str, vbFromUnicode))
End Function
Dim MyString, MyLen
MyString = "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.

Zeichenfolgenfunktionen und ihre Verwendung