Online Reference

Home

Microsoft Reference
Knowledge Developer Database Internet Resource Forum
VBA
General Function
ดาวน์โหลดคู่มือ

Switch Function

VBA Function, สำหรับการหาค่าจากรายการ expression และส่งออกค่าเป็นประเภทข้อมูล Variant หรือ expression ที่ตรงกับ expression แรกจากรายการที่มีค่าเป็น True

ไวยากรณ์

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

ฟังก์ชัน Switch มีไวยากรณ์ของส่วน คือ

ส่วน รายละเอียด
expr บังคับ, เป็น expression ของ Variant ที่ต้องการหาค่า
value บังคับ, เป็น ค่า หรือ expression ที่ส่งค่าออกถ้า expression ที่เกี่ยวกันมีค่าเป็น True

ลักษณะการประยุกต์

รายการอากิวเมนต์ของฟังก์ชัน Switch ประกอบด้วยคู่ของอากิวเมนต์ expr (expression) และ value โดยการหาค่า expression จากซ้ายไปขวา และส่งออกค่าที่คู่กันของ expression แรกที่มีค่าเป็น True ถ้ามีอากิวเมนต์ที่ไม่มีคู่ จะปรากฏความผิดพลาด run-time error เช่น ถ้า expr-1 เป็น True ฟังก์ชัน Switch จะส่งออกค่าของ value-1 ถ้า expr-1 เป็น False แต่ expr-2 เป็น True ฟังก์ชัน Switch จะส่งออกค่าของ value-2 และต่อๆไป

ฟังก์ชัน Switch ส่งออกค่าเป็นค่าว่าง (Null) ถ้า

  • ไม่มีค่าใดที่มี expression เป็น True
  • Expression แรกที่พบตรงค่าที่เป็นค่าว่าง

ฟังก์ชัน Switch หาค่าจาก expression ทั้งหมด แต่ส่งค่าออกเพียงค่าเดียว ผลดังกล่าวทำให้เกิดผลกระทบข้างเคียง เช่น ถ้าการหาผลลัพธ์จาก expression ในค่าความผิดพลาดจากการหารด้วยศูนย์ จะเกิดข้อความของความผิดพลาด

ดูเพิ่มเติม

ฟังก์ชัน Choose, ฟังก์ชัน IIf, Select Case Statement

วิธีการประยุกต์ใน Access

ฟังก์ชัน Switch สามารถใช้ในตัว control บนฟอร์มหรือรายงานใน Microsoft Access เช่น การใช้ฟังก์ชัน Switch กำหนดค่าของตัว control เพื่อแสดค่าตามค่าของฟิลด์อื่น ให้ตั้งค่าคุณสมบัติ ControlSource ของตัว control ด้วย expression ของฟังก์ชัน Switch

ตามตัวอย่างต่อไปนี้ ฟังก์ชัน Switch ส่งออกข้อความที่เป็นชื่อของ Shipper ตามค่าที่หาได้จากฟิลด์ Fright ถ้าค่าของฟิลด์ Fright น้อยกว่า 25 ฟังก์ชัน Switch ส่งออกค่าเป็น “Speedy” ถ้ามากกว่าหรือเท่ากับ 25 แต่น้อยกว่า 50 ฟังก์ชัน Switch ส่งออกค่าเป็น “United” และถ้ามากกว่า 50 ฟังก์ชัน Switch ส่งออกค่าเป็น “Federal”

=Switch([Freight] < 25, "Speedy", ([Freight] >= 25 and [Freight] <= 50), "United", _
[Freight] > 50, "Federal")

หมายเหตุ ในโมดูล Visual Basic สามารถใช้ประโยคคำสั่ง Select Case เต็มรูปแบบในการส่งค่าออกจากกลุ่มของตัวเลือก

ตัวอย่าง

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

Function MatchUp (CityName As String)

  Matchup = Switch(CityName = "London", "English", _
    CityName = "Rome", "Italian", CityName = "Paris", "French")

End Function

ตัวอย่างการประยุกต์ใน Access

ตัวอย่างการใช้ฟังก์ชัน Switch ในการหาค่าที่เหมาะสมของภาษาซึ่งระบุด้วยชื่อเมืองตามค่าของฟิลด์ ShipCountry และ ShipCity ใน Table ชื่อ Orders โดยสามารถสร้างตัว control แบบคำนวณบนฟอร์ม สำหรับ expression ที่แสดงเป็นแบบหลายบรรทัด สามารถป้อนเป็นบรรทัดเดียวได้

= Switch([ShipCity] = "Madrid", "Spanish", [ShipCity] = "Berlin", "German", _
[ShipCity] = "Torino", "Italian", [ShipCountry] = "France", "French", _
True, "English")

ถ้าเมือง คือ Madrid ฟังก์ชัน Switch จะส่งออกค่าเป็น “Spanish” ถ้าเป็น “Berlin” ค่าที่ส่งออก คือ “German” และต่อๆไป ถ้าไม่ตรงกับชื่อเมืองในรายการ แต่ ShipCountry คือ France ค่าส่งออก คือ “French” ถ้าไม่ตรงกับชื่อเมืองในรายการ ฟังก์ชัน Switch จะส่งค่าออกเป็น “English”