Funkce Len

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vrátí hodnotu typu Long obsahující počet znaků v řetězci nebo počet bajtů potřebných pro uložení proměnné.

Syntaxe

Len(řetězec* | *název_proměnné)

Syntaxe funkce Len obsahuje tyto argumenty:

Argument Popis
řetězec Libovolný platný řetězcový výraz. Pokud řetězec obsahuje hodnotu Null, vrátí se hodnota Null.
název_proměnné Libovolný platný název proměnné. Pokud proměnná obsahuje hodnotu Null, vrátí se hodnota Null. Pokud je název_proměnné Variant, funkce Len s ní zachází stejně jako s řetězcem a vždy vrátí počet znaků, které obsahuje.

Poznámky

Musí být zadán jeden ze dvou možných argumentů (a pouze jeden). U uživatelem definovaných typů vrátí funkce Len velikost, která bude zapsána do souboru.

Poznámka

Funkci LenB používejte s údaji o bajtech obsaženými v řetězci, jako u jazyků využívajících dvoubajtové znakové sady (DBCS). Místo vrácení počtu znaků v řetězci vrátí funkce LenB počet bajtů použitých k vyjádření daného řetězce. U uživatelem definovaných typů vrátí LenB velikost v paměti, včetně případného odsazení mezi prvky. Ukázku kódu, který používá LenB, najdete v druhém příkladu v ukázkovém tématu.

Poznámka

Funkce Len nemusí být schopna určit skutečný počet bajtů úložiště, který je potřeba při použití s řetězci s proměnlivou délkou v datových typech definovaných uživatelem.

Příklad dotazu

Výraz Výsledky:
SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; Vrátí hodnoty z pole IDProduktu a délku hodnot ve sloupcích ProductLen.

Příklady jazyka VBA

Poznámka

Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

První příklad používá funkci Len k vrácení počtu znaků v řetězci nebo počtu bajtů potřebných k uložení proměnné. Typ... Před definováním CustomerRecord bloku End Type musí být klíčové slovo Private, pokud se vyskytuje v modulu třídy. Ve standardním modulu může být Type příkaz Public.

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.

Druhý příklad používá LenB a uživatelem definovanou funkci (LenMbcs) k vrácení počtu bajtových znaků v řetězci, pokud je k reprezentaci řetězce použito ANSI.

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.

Řetězcové funkce a jejich použití