Повертає значення типу Long, яке дорівнює кількості символів у рядку або кількості байт, які необхідні для зберігання змінної.
Синтаксис
Len(string* | *varname)
Синтаксис функції Len має такі аргументи:
| Аргумент | Опис |
|---|---|
| рядок | Будь-який припустимий рядковий вираз. Якщо рядок містить Null-значення, повертається значення Null. |
| ім'я_varname | Будь-яке припустиме ім'я змінної. Якщо ім'я varname містить Null-значення, повертається значення Null. Якщо аргумент varname – варіант, Len вважає його таким самим, як і рядок , і завжди повертає кількість символів, які він містить. |
Примітки
Потрібно вказати один (і лише один) із двох можливих аргументів. Якщо користувацькі типи визначено, функція Len повертає розмір, який буде записано до файлу.
Примітка.
Використовуйте функцію LenB із даними байтів, які містяться в рядку, як у двобайтних мовах набору символів (DBCS). Замість того, щоб повертати кількість символів у рядку, функція LenB повертає кількість байтів, використаних для представлення цього рядка. За допомогою визначених користувачем типів LenB повертає розмір пам'яті, включно з заповненням між елементами. Приклад коду, у якому використовується функція LenB, див. у другому прикладі статті.
Примітка.
Len може не визначити фактичну кількість байтів сховища, потрібну для використання з рядками змінної довжини в користувацьких типах даних.
Приклад запиту
| Вираз | Результати. |
|---|---|
| SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; | Повертає значення з поля "Ідентифікатор товару" та довжину цих значень у стовпцях ProductLen. |
Приклади VBA
Примітка.
У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.
У першому прикладі Len використовується для повернення кількості символів у рядку або кількості байтів, необхідних для збереження змінної.
Тип... Блок кінцевого типу має передувати ключовому слову Private, якщо воно відображається в модулі класу.CustomerRecord У стандартному модулі оператор Type може бути загальнодоступним.
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.
У другому прикладі LenB і користувацька функція (LenMbcs) повертають кількість байтових символів у рядку, якщо ANSI використовується для представлення рядка.
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.