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, la valeur Null est renvoyée. |
| varname | Tout nom de variable valide. Si varname contient Null, Null est renvoyé. Si varname est une variante, Len le traite de la même manière qu’une chaîne et renvoie toujours le nombre de caractères qu’elle contient. |
Remarques
Un (et un seul) des deux arguments possibles doit être spécifié. 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 octetées contenues dans une chaîne, comme dans les langues à 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 renvoie la taille en mémoire, y compris tout remplissage entre les éléments. Pour consulter 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 des types de données définis par l’utilisateur.
Exemple de requête
| Expression | Résultats |
|---|---|
| SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales ; | Renvoie les valeurs du champ « RéfProduit » 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 développeur dans la liste déroulante en regard de Rechercher , puis 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. Le type... La définition CustomerRecord de bloc End Type 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 publique.
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’octets 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.