Renvoie une donnée de type Long contenant le nombre de caractères dans une chaîne ou le nombre d’octets requis pour stocker une variable.
Syntaxe
Len(string* | *varname)
La syntaxe de la fonction Len contient les arguments suivants :
| Argument | Description |
|---|---|
| chaîne | Toute expression de chaîne valide. Si la chaîne contient Null, null est retourné. |
| varname | Tout nom de variable valide. Si varname contient Null, null est retourné. Si varname est un Variant, Len le traite comme une chaîne et retourne toujours le nombre de caractères qu’il contient. |
Remarques
Un (et un seul) des deux arguments possibles doivent être spécifiés. Avec les types définis par l’utilisateur, Len retourne la taille telle qu’elle sera écrite dans le fichier.
Remarque
Utilisez la fonction LenB avec des données d’octet contenues dans une chaîne, comme dans les langages de jeu de caractères codés sur deux octets (DBCS). Au lieu de renvoyer le nombre de caractères dans une chaîne, LenB renvoie le nombre d’octets utilisés pour représenter cette chaîne. Avec les types définis par l’utilisateur, LenB retourne la taille en mémoire, y compris tout remplissage entre les éléments. Pour obtenir un exemple de code qui utilise LenB, consultez le deuxième exemple de l’exemple de rubrique.
Remarque
Len peut ne pas être en mesure de déterminer le nombre réel d’octets de stockage requis lorsqu’il est utilisé avec des chaînes de longueur variable dans les types de données définis par l’utilisateur.
Exemple de requête
| Expression | Résultats |
|---|---|
| SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales ; | Retourne les valeurs du champ « ProductID » et la longueur de ces valeurs dans les colonnes ProductLen. |
Exemples VBA
Remarque
Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de Rechercher et entrez un ou plusieurs termes dans la zone de recherche.
Le premier exemple utilise Len pour renvoyer le nombre de caractères dans une chaîne ou le nombre d’octets requis pour stocker une variable. Type... La définition CustomerRecord du bloc type de fin doit être précédée du mot clé Privé s’il apparaît dans un module de classe. Dans un module standard, une instruction Type peut être 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.
Le deuxième exemple utilise LenB et une fonction définie par l’utilisateur (LenMbcs) pour renvoyer le nombre de caractères d’octet dans une chaîne si ANSI est utilisé pour représenter la chaîne.
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.