החזרת ארוך המכיל את מספר התווים במחרוזת או מספר הבתים הדרושים לאחסן משתנה.
תחביר
Len(string* | *varname)
תחביר הפונקציה Len מכיל את הארגומנטים הבאים:
| ארגומנט | תיאור |
|---|---|
| string | כל ביטוי מחרוזת חוקי. אם המחרוזת מכילה Null, מוחזר Null. |
| varname | כל שם משתנה חוקי. אם varname מכיל Null, מוחזר Null. אם varname הוא משתנה, הפונקציה 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 כדי להחזיר את מספר התווים במחרוזת או את מספר הבתים הדרושים לאחסן משתנה.
הסוג... לפני הגדרת 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.