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