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 * 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 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 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.