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