إرجاع طويل يحتوي على عدد الأحرف في سلسلة أو عدد البايت المطلوب لتخزين متغير.
بناء الجملة
Len(string* | *varname)
يحتوي بناء جملة الدالة Len على الوسيطات التالية:
| الوسيطة | الوصف |
|---|---|
| سلسلة | أي تعبير سلسلة صحيح. إذا كانت السلسلة تحتوي على Null، فيتم إرجاع القيمة Null. |
| varname | أي اسم متغير صالح. إذا كان varname يحتوي على Null، فيتم إرجاع القيمة Null. إذا كان varname متغيرا، فتعامله Len مثل String ويرجع دائما عدد الأحرف الذي يحتوي عليه. |
ملاحظات
يجب تحديد وسيطة واحدة (وواحدة فقط) من الوسيطتين المحتملتين. باستخدام الأنواع المعرفة من قبل المستخدم، ترجع الدالة 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 كتلة نوع النهاية الكلمة الأساسية خاص إذا ظهرت في وحدة نمطية للفئة. في الوحدة النمطية القياسية، يمكن أن تكون جملة 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.