הפונקציה מחזירה אורך ארוך המכיל את מספר התווים במחרוזת או את מספר הבתים הדרושים לאחסון משתנה.
תחביר
Len ( מחרוזת | varname)
תחביר הפונקציה Len מכיל את הארגומנטים הבאים:
ארגומנט |
תיאור |
string |
כל ביטוי מחרוזת חוקית. אם string מכיל Null, מוחזר Null. |
varname |
כל שם משתנה חוקי. אם varname מכיל null, מוחזר null. אם varname הוא Variant, הפונקציה Len מתייחסת אליו כאל מחרוזת ומחזירה תמיד את מספר התווים שהוא מכיל. |
הערות
יש לציין אחד (ואחד בלבד) מבין שני הארגומנטים האפשריים. עם סוגים המוגדרים על-ידי המשתמש, הפונקציה Len מחזירה את הגודל כפי שייכתב בקובץ.
הערה: השתמש בפונקציה LenB עם נתוני בית הכלולים במחרוזת, כגון שפות של ערכת תווים של שני בתים (DBCS). במקום להחזיר את מספר התווים במחרוזת, הפונקציה LenB מחזירה את מספר הבתים המשמשים לייצוג מחרוזת זו. עם סוגים המוגדרים על-ידי המשתמש, הפונקציה LenB מחזירה את הגודל בזיכרון, כולל כל מרווח בין רכיבים. לקבלת קוד לדוגמה המשתמש ב- LenB, עיין בדוגמה השניה בנושא הדוגמה.
הערה: ייתכן ש- Len לא יוכל לקבוע את המספר הממשי של בתים הדרושים הדרושים בעת שימוש עם מחרוזות באורך משתנה בסוגי נתונים המוגדרים על-ידי המשתמש.
דוגמה של שאילתה
ביטוי |
תוצאות |
בחר ProductID, Len (ProductID) כProductLen מ-ProductSales; |
פונקציה זו מחזירה את הערכים מהשדה "ProductID" ואת אורך הערכים האלה בעמודות 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.