ฟังก์ชัน Switch

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

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

ไวยากรณ์

สลับ(expr-1, ค่า-1 [, นิพจน์-2, ค่า-2 ] ... [, expr-n, value-n ] )

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

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

ข้อสังเกต

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

Switch จะ ส่งกลับค่า Null ถ้า:

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

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

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

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

ตัวอย่าง 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