Повертає довге ціле число, що містить кількість символів у рядку або кількість байтів, необхідних для зберігання змінна.
Синтаксис
Len( рядок | ім'я_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 використовується для повернення кількості символів у рядку або кількості байтів, необхідних для збереження змінної. Тип... Блок кінцевого типу, що визначає CustomerRecord , має передувати ключовому слову Private, якщо воно відображається в модулі класу. У стандартному модулі оператор 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.