Funktionen Längd

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Returnerar ett värde av datatypen Long som innehåller antalet tecken i en sträng eller antalet bytes som krävs för att lagra en variabel.

Syntax

Längd(sträng* | *varnamn)

Syntaxen för funktionen Längd har följande argument:

Argument Beskrivning
sträng Ett giltigt stränguttryck. Om strängen innehåller Null, returneras Null.
var_namn Ett giltigt variabelnamn. Om var_namn innehåller Null, returneras Null. Om var_namn är en variant behandlar Len argumentet som en sträng och returnerar alltid antalet tecken som strängen innehåller.

Kommentarer

Ett (och endast ett) av de två möjliga argumenten måste anges. Med användardefinierade typer returnerar längd storleken så som den kommer att skrivas till filen.

Obs

Använd funktionen LängdB med bytedata som finns i en sträng, som i DBCS-språk (double-byte character set). I stället för att returnera antalet tecken i en sträng returnerar LängdB antalet byte som används för att representera strängen. Med användardefinierade typer returnerar LängdB minnesintern storlek, inklusive eventuell utfyllnad mellan element. Exempelkod som använder LenB finns i det andra exemplet i exempelavsnittet.

Obs

Len kanske inte kan fastställa det faktiska antalet lagringsbyte som krävs när de används med strängar med variabel längd i användardefinierade datatyper.

Exempel på fråga

Uttryck Resultat
SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; Returnerar värdena från fältet "Produktnr" och längden på dessa värden i kolumnerna Produktlängd.

VBA-exempel

Obs

I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.

I det första exemplet används längd för att returnera antalet tecken i en sträng eller antalet byte som krävs för att lagra en variabel. Typen... End Type-blockdefinitionenCustomerRecord måste föregås av nyckelordet Private om det förekommer i en klassmodul. I en standardmodul kan en typinstruktion vara 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.

I det andra exemplet används LenB och en användardefinierad funktion (LenMbcs) för att returnera antalet bytetecken i en sträng om ANSI används för att representera strängen.

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.

Strängfunktioner och hur de används