ฟังก์ชัน Mid

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ส่งกลับ ตัวแปร (สตริง) ที่มีจำนวนอักขระที่ระบุจากสตริง

ไวยากรณ์

Mid(string, start [, length ] )

ไวยากรณ์ของฟังก์ชัน MID มีอาร์กิวเมนต์ดังนี้

อาร์กิวเมนต์ คำอธิบาย
สตริง จำเป็น นิพจน์สตริงที่ส่งกลับอักขระ ถ้าสตริงมีค่า Null จะส่งกลับค่า Null
เริ่มต้น จำเป็น ยาว. ตําแหน่งอักขระใน สตริง ที่ส่วนที่จะนํามาเริ่มต้น ถ้า start มากกว่าจํานวนอักขระใน สตริงฟังก์ชัน Mid จะส่งกลับสตริงที่มีความยาวเป็นศูนย์ ("")
ความยาว ไม่จำเป็น ตัวแปร (ยาว) จํานวนอักขระที่จะส่งกลับ ถ้าละหรือถ้ามีอักขระที่มี ความยาว น้อยกว่าในข้อความ (รวมถึงอักขระที่ เริ่มต้น) อักขระทั้งหมดจากตําแหน่ง เริ่มต้น จนถึงจุดสิ้นสุดของสตริงจะถูกส่งกลับ

ข้อสังเกต

เมื่อต้องการกําหนดจํานวนอักขระในสตริง ให้ใช้ฟังก์ชัน Len

หมายเหตุ

ใช้ฟังก์ชัน MidB กับข้อมูลไบต์ที่อยู่ในสตริง เช่น ในภาษาชุดอักขระแบบไบต์คู่ แทนที่จะระบุจํานวนอักขระ อาร์กิวเมนต์จะระบุจํานวนไบต์ สําหรับโค้ดตัวอย่างที่ใช้ MidB ให้ดูตัวอย่างที่สองในหัวข้อตัวอย่าง

ตัวอย่างคิวรี

นิพจน์ ผลลัพธ์
SELECT ProductID, Mid(ProductID,5) AS Expr1 FROM ProductSales; ส่งกลับ "หมายเลขผลิตภัณฑ์" และส่วนของหมายเลขผลิตภัณฑ์เริ่มต้นจากตําแหน่งอักขระที่ 5 และแสดงผลลัพธ์ในคอลัมน์ นิพจน์ 1
SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; ส่งกลับ "หมายเลขผลิตภัณฑ์" และส่วนของหมายเลขผลิตภัณฑ์เริ่มต้นจากตําแหน่งอักขระที่ 5 ซึ่งมีอักขระ 4 ตัว และแสดงผลลัพธ์ในคอลัมน์ testMid

ตัวอย่าง VBA

หมายเหตุ

ตัวอย่าง VBA ต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงนักพัฒนาในรายการ ดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา

ตัวอย่างแรกใช้ฟังก์ชัน Mid เพื่อส่งกลับอักขระจํานวนที่ระบุจากสตริง


Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo"    ' Create text string.
FirstWord = Mid(MyString, 1, 3)    ' Returns "Mid".
LastWord = Mid(MyString, 14, 4)    ' Returns "Demo".
MidWords = Mid(MyString, 5)    ' Returns "Function Demo".

ตัวอย่างที่สองใช้ MidB และฟังก์ชันที่ผู้ใช้กําหนดเอง (MidMbcs) เพื่อส่งกลับอักขระจากสตริงเช่นกัน ความแตกต่างในที่นี้คือสตริงอินพุตเป็น ANSI และความยาวมีหน่วยเป็นไบต์


Function MidMbcs(ByVal str as String, start, length)
    MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), _
              start, length), vbUnicode)
End Function
Dim MyString
MyString = "AbCdEfG"
' Where "A", "C", "E", and "G" are DBCS and "b", "d", 
' and "f" are SBCS.
MyNewString = Mid(MyString, 3, 4)
' Returns ""CdEf"
MyNewString = MidB(MyString, 3, 4)
' Returns ""bC"
MyNewString = MidMbcs(MyString, 3, 4)
' Returns "bCd"

ดูเพิ่มเติม

ฟังก์ชันสตริงและวิธีใช้