Vráti hodnotu typu Long obsahujúcu počet znakov v reťazci alebo počet bajtov potrebných na uloženie premennej.
Syntax
Len( reťazec | názovpremennej)
Syntax funkcie Len má tieto argumenty:
Argument |
Popis |
reťazec |
Ľubovoľný platný reťazcový výraz. Ak argument reťazec obsahuje hodnotu Null, vráti sa hodnota Null. |
názovpremennej |
Ľubovoľný platný názov premenná. Ak názov premennej varname obsahuje hodnotu Null, vráti sa hodnota Null. Ak je názov premennej variant, Funkcia Len s ním zaobchádza rovnako ako s reťazcom a vždy vráti počet znakov, ktoré obsahuje. |
Poznámky
Je nutné zadať jeden (a len jeden) z dvoch možných argumentov. V prípade typov definovanými používateľom funkcia Len vráti veľkosť tak, ako sa zapíše do súboru.
Poznámka: S bajtovými údajmi, ktoré sú obsiahnuté v reťazci, ako je to napríklad v prípade jazykov s dvojbajtovou tabuľkou znakov (DBCS), použite funkciu LenB. Funkcia LenB namiesto vrátenia počtu znakov v reťazci vráti počet bajtov použitých na vyjadrenie daného reťazca. V prípade používateľom definovaných typov funkcia LenB vráti veľkosť v pamäti vrátane ľubovoľného odsadenia medzi prvkami. Vzorový kód, v ktorom sa používa funkcia LenB, nájdete v téme s príkladmi v druhom príklade.
Poznámka: Funkcia Len pri použití s reťazcami premenlivej dĺžky v používateľom definovaných typoch údajov možno nebude schopná určiť skutočný počet potrebných bajtov ukladacieho priestoru.
Príklad dotazu
Výraz |
Výsledky |
SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; |
Vráti hodnoty z poľa ProductID a dĺžku týchto hodnôt v stĺpcoch ProductLen. |
Príklady jazyka VBA
Poznámka: Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.
V prvom príklade je použitá funkcia Len na vrátenie počtu znakov v reťazci alebo počtu bajtov potrebných na uloženie premennej. Bloku Type...End Type definujúcemu položku CustomerRecord musí predchádzať kľúčové slovo Private v prípade, že sa nachádza v module triedy. V štandardnom module môže mať príkaz Type hodnotu 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.
V druhom príklade je použitá funkcia LenB a používateľom definovaná funkcia (LenMbcs) na vrátenie počtu bajtových znakov v reťazci, ak je reťazec vyjadrený s použitím kódu 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.