Deze functie geeft een waarde van het gegevenstype Lang als resultaat die het aantal tekens in een tekenreeks bevat of het aantal bytes dat nodig is om een variabele op te slaan.
Syntaxis
Len( tekenreeks | varnaam)
De syntaxis van de functie Len bevat de volgende argumenten:
Argument |
Beschrijving |
tekenreeks |
Elke geldige reeksexpressie. Als tekenreeks Null bevat, wordt Null als resultaat gegeven. |
varnaam |
Elke geldige naam van een variabele. Als varnaam Null bevat, wordt Null als resultaat gegeven. Als varnaam een variant is, wordt deze door Len als een Tekenreeks behandeld en wordt altijd het aantal tekens hierin als resultaat gegeven. |
Opmerkingen
Eén (en maximaal één) van de twee mogelijke argumenten moet worden opgegeven. In het geval van door de gebruiker gedefinieerde typen retourneert Len de grootte zoals deze wordt weggeschreven naar het bestand.
Opmerking: Gebruik de functie LenB met bytegegevens in een tekenreeks, zoals in talen met een double-byte tekenset (DBCS). In plaats van het aantal tekens in een tekenreeks te retourneren, bestaat het resultaat van LenB uit het aantal bytes dat wordt gebruikt om de tekenreeks te vertegenwoordigen. In het geval van door de gebruiker gedefinieerde typen retourneert LenB de grootte in het geheugen, inclusief eventuele opvulling tussen elementen. Zie het tweede voorbeeld in het onderwerp Voorbeeld voor een voorbeeld van code waarin LenB wordt gebruikt.
Opmerking: U kunt Len mogelijk niet gebruiken om het werkelijke aantal opslagbytes te bepalen dat nodig is wanneer de functie wordt gebruikt met tekenreeksen met een variabele lengte in gegevenstypen die door de gebruiker zijn gedefinieerd.
Queryvoorbeeld
Expression |
Resultaten |
SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; |
Retourneert de waarden uit het veld 'ProductID' en de lengte van deze waarden in de kolommen ProductLen. |
VBA-voorbeelden
Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.
In het eerste voorbeeld wordt Len gebruikt om het aantal tekens in een tekenreeks op te vragen of het aantal bytes dat nodig is om een variabele op te slaan. Het blok Type...End Type waarmee CustomerRecord wordt gedefinieerd, moet vooraf worden gegaan door het trefwoord Private als het blok is opgenomen in een klassemodule. In een standaardmodule kan een Type-instructie Public zijn.
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.
In het tweede voorbeeld worden LenB en een door de gebruiker gedefinieerde functie (LenMbcs) gebruikt om het aantal byte-tekens in een tekenreeks op te vragen als ANSI wordt gebruikt voor de weergave van de tekenreeks.
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.