Devuelve un valor Long que contiene el número de caracteres de una cadena o el número de bytes necesarios para almacenar una variable.
Sintaxis
Len( cadena | nombrevar)
La sintaxis de la función Largo tiene estos argumentos:
Argumento |
Descripción |
cadena |
Cualquier expresión de cadena válida. Si cadena contiene Null, se devolverá Null. |
nombrevar |
Cualquier nombre de variable válido. Si nombrevar contiene Null, se devolverá Null. Si nombrevar es un tipo de datos Variant, Len lo trata como si fuera un tipo de datos String y siempre devuelve el número de caracteres que contiene. |
Comentarios
Debe especificarse uno (y solo uno) de los dos argumentos posibles. Con los tipos definidos por el usuario, Len devuelve el tamaño tal y como se escribirá en el archivo.
Nota: Use la función LenB con datos de byte contenidos en una cadena, como en idiomas de juego de caracteres de doble byte (DBCS). En lugar de devolver el número de caracteres de una cadena, LenB devuelve el número de bytes usados para representar esa cadena. Con los tipos definidos por el usuario, LenB devuelve el tamaño en memoria, incluido cualquier relleno entre elementos. Para el código de ejemplo que usa LenB, vea el segundo ejemplo en el tema de ejemplo.
Nota: Es posible que Len no pueda determinar el número real de bytes de almacenamiento necesarios cuando se usan con cadenas de longitud variable en tipos de datos definidos por el usuario.
Ejemplo de consulta
Expression |
Resultados |
SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; |
Devuelve los valores del campo "IdProducto" y la longitud de esos valores en las columnas ProductLen. |
Ejemplos de VBA
Nota: Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.
En el primer ejemplo se usa Largo para devolver el número de caracteres de una cadena o el número de bytes necesarios para almacenar una variable. El tipo... El bloque Tipo final que define CustomerRecord debe ir precedido de la palabra clave Private si aparece en un módulo de clase. En un módulo estándar, una instrucción Type puede ser 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.
En el segundo ejemplo se usa LenB y una función definida por el usuario (LenMbcs) para devolver el número de caracteres de byte en una cadena si se usa ANSI para representar la cadena.
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.