ฟังก์ชัน Switch

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

ประเมินรายการนิพจน์และส่งกลับค่า ตัวแปร หรือนิพจน์ที่เกี่ยวข้องกับนิพจน์แรกในรายการที่เป็น True

ไวยากรณ์

Switch(expr-1, value-1 [, expr-2, value-2 ] ... [, expr-n, value-n ] )

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

อาร์กิวเมนต์ คำอธิบาย
expr จำเป็น นิพจน์ตัวแปรที่คุณต้องการประเมิน
ค่า จำเป็น ค่าหรือนิพจน์ที่จะถูกส่งกลับถ้านิพจน์ที่สอดคล้องกันเป็นจริง

ข้อสังเกต

รายการอาร์กิวเมนต์ของฟังก์ชัน Switch ประกอบด้วยคู่ของนิพจน์และค่า นิพจน์จะถูกประเมินจากซ้ายไปขวา และค่าที่เกี่ยวข้องกับนิพจน์แรกที่จะประเมินเป็น True จะถูกส่งกลับ ถ้าไม่ได้จับคู่ส่วนต่างๆ อย่างถูกต้อง จะเกิดข้อผิดพลาดขณะทํางานขึ้น ตัวอย่างเช่น ถ้า expr-1เป็นจริงสวิตช์จะส่งกลับค่า-1 ถ้า expr-1 เป็น False แต่ expr-2เป็นจริงสวิตช์ จะส่งกลับ ค่า 2 และอื่นๆ

สวิตช์ จะส่งกลับค่า Null ถ้า:

  • ไม่มีนิพจน์ใดเป็นจริง
  • นิพจน์ True แรกมีค่าที่สอดคล้องกันที่เป็น Null

สวิตช์ จะประเมินนิพจน์ทั้งหมด แม้ว่าจะส่งกลับเพียงนิพจน์เดียวก็ตาม ด้วยเหตุนี้คุณควรระวังผลข้างเคียงที่ไม่พึงประสงค์ ตัวอย่างเช่น ถ้าการประเมินนิพจน์ใดๆ ให้ผลลัพธ์เป็นข้อผิดพลาดการหารด้วยศูนย์ จะเกิดข้อผิดพลาดขึ้น

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

นิพจน์ ผลลัพธ์
SELECT ProductSales.ProductID, Switch([ProductID]="PRO_XYZ1","First",[ProductID]="PRO_XYZ2","Two",[ProductID]="PRO_XYZ1","Ten") AS testSwitch FROM ProductSales; ส่งกลับ "ProductID" ประเมินนิพจน์ในสูตร "Switch" และสลับค่าที่มีอยู่ด้วยค่าที่กําหนดสําหรับนิพจน์ "True" ทั้งหมด ตัวอย่างเช่น: "PRO_XYZ1" จะแทนที่ด้วย "First", "PRO_XYZ2" จะถูกแทนที่ด้วย "Two" และอื่นๆ

ตัวอย่าง VBA

หมายเหตุ

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

ตัวอย่างนี้ใช้ฟังก์ชัน Switch เพื่อส่งกลับชื่อของภาษาที่ตรงกับชื่อของเมือง

Function MatchUp (CityName As String)
    Matchup = Switch(CityName = "London", "English", _
              CityName = "Rome", "Italian", _
              CityName = "Paris", "French")
End Function