Vrátí hodnotu typu Long obsahující počet znaků v řetězci nebo počet bajtů potřebných k uložení Proměnná.
Syntaxe
Len( řetězec | varname)
Syntaxe funkce Len má tyto argumenty:
|
Argument |
Popis |
|
řetězec |
Všechny 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 varname obsahuje hodnotu Null, vrátí se hodnota Null. Pokud je varname varianta, Len s ním 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 (a pouze jeden) ze dvou možných argumentů. U typů definovaných uživatelem vrátí Len velikost tak, jak se zapíše do souboru.
Poznámka: Použijte funkci LenB s bajtovými daty obsaženými v řetězci, jako v jazycích dvoubabajtů znakové sady (DBCS). Místo vrácení počtu znaků v řetězci vrátí funkce LenB počet bajtů použitých k reprezentaci tohoto řetězce. U typů definovaných uživatelem vrátí LenB velikost v paměti, včetně odsazení mezi prvky. Ukázkový kód, který používá LenB, najdete v druhém příkladu v ukázkovém tématu.
Poznámka: Len nemusí být schopen určit skutečný počet požadovaných bajtů úložiště při použití s řetězci s proměnnou délkou v uživatelem definovaných datových typech.
Příklad dotazu
|
Výraz |
Výsledky |
|
SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; |
Vrátí hodnoty z pole ProductID a délku těchto 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á Len k vrácení počtu znaků v řetězci nebo počtu bajtů potřebných k uložení proměnné. Typ... Koncový blok typu definující CustomerRecord musí předcházet klíčové slovo Private, pokud se zobrazí v modulu třídy. Ve standardním modulu může být příkaz Typeveřejný.
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.
Druhý příklad používá LenB a uživatelem definovanou funkci (LenMbcs) k vrácení počtu bajtů znaků v řetězci, pokud se k reprezentaci řetězce používá 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.