ส่งกลับ ยาว ที่มีจำนวนอักขระในสตริงหรือจำนวนไบต์ที่จำเป็นในการจัดเก็บตัวแปร
ไวยากรณ์
Len(string* | *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; | ส่งกลับค่าจากเขตข้อมูล "ProductID" และความยาวของค่าเหล่านั้นในคอลัมน์ ProductLen |
ตัวอย่าง VBA
หมายเหตุ
ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงนักพัฒนาในรายการ ดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา
ตัวอย่างแรกใช้ Len เพื่อส่งกลับจํานวนอักขระในสตริงหรือจํานวนไบต์ที่จําเป็นในการจัดเก็บตัวแปร
ประเภท... การกําหนดบล็อก CustomerRecord End Type จะต้องนําหน้าด้วยคําสําคัญ Private ถ้าปรากฏในคลาสมอดูล ในมอดูลมาตรฐาน คําสั่ง Type สามารถเป็น Public ได้
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.