Online Reference

Home

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

IIf Function

VBA Function, สำหรับส่งออกค่าใดค่าหนึ่งจาก 2 ค่าที่ขึ้นกับค่าของ expression ที่ประเมินค่าได้

ไวยากรณ์

IIf(expr,truepart,falsepart )

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

อากิวเมนต์ รายละเอียด
expr บังคับ, เป็น expression ที่ใช้ในการหาค่า
truepart บังคับ, เป็นค่า หรือ expression ที่ส่งออกถ้าอากิวเมนต์ expr เป็นจริง
falsepart บังคับ, เป็นค่า หรือ expression ที่ส่งออกถ้าอากิวเมนต์ expr เป็นเท็จ

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

ฟังก์ชัน IIf จะหาค่าจากอากิวเมนต์ truepart และ falsepart แต่ส่งค่าออกเพียงค่าเดียว ผลดังกล่าวทำให้เกิดผลกระทบข้างเคียง เช่น ถ้าการหาผลลัพธ์อากิวเมนต์ falsepart ในค่าความผิดพลาดจากการหารด้วยศูนย์ ซึ่งความผิดพลาดจะเกิดขึ้นเมื่ออากิวเมนต์ expr เป็นจริง

ดูเพิ่มเติม

ฟังก์ชัน Choose, If…Then…Else Statement, Select Case Statement, ฟังก์ชัน Switch

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

ฟังก์ชัน IIf สามารถใช้ในตัว control บนฟอร์มหรือรายงานใน Microsoft Access โดยใช้ฟังก์ชัน IIf ในการหาค่าของ expression และส่งออกค่าใดค่าหนึ่งตามค่าที่ได้จาก expression เป็น True (-1) หรือ False (0) เช่น สามารถใช้ฟังก์ชัน IIf ในการตรวจสอบค่าฟิลด์บนฟอร์มและหาค่าเมื่อเป็นค่าว่าง ถ้าใช่ สามารถใช้ฟังก์ชัน IIf บังคับให้ส่งออกค่าเป็น zero-length string ถ้าฟิลด์มีค่าที่ไม่ใช่ค่าว่าง ให้ฟังก์ชัน IIf ส่งออกค่าของฟิลด์ที่มีอยู่

ตัวอย่างต่อไปแสดงการตรวจสอบฟิลด์ ShipCountry ใน Table ชื่อ Orders และส่งออกข้อความว่าง (“”) ถ้าเป็นค่าว่าง

=IIf(IsNull(Forms!Orders![ShipCountry]), “”, Forms!Orders![ShipCountry])

ใน Visual Basic ฟังก์ชัน IIf จะหาค่าจากอากิวเมนต์ truepart และ falsepart แต่ส่งค่าออกเพียงค่าเดียว แต่ในฟอร์มหรือรายงานของ Microsoft Access ฟังก์ชัน IIf จะหาค่าที่เหมาะสมเพียงค่าเดียวจากอากิวเมนต์ truepart และ falsepart ดังนั้นจึงไม่ต้องระวังผลกระทบข้างเคียงในการหาผลลัพธ์ เมื่อมีการใช้ฟังก์ชัน IIf ในตัว control, expression ของคิวรี่ หรือมาโคร

หมายเหตุ ฟังก์ชัน Nz ใน Microsoft Access ใช้สำหรับการแปลงค่าว่าง (Null) เป็น 0, zero-length string, หรือค่าที่ระบุ ถ้า expression ใช้ในการทำงานกับค่าว่าง ฟังก์ชัน Nz สามารถเป็นตัวเลือกสำหรับการใช้งานนอกจากฟังก์ชัน IIf

ฟังก์ชัน IIf ใช้ประโยชน์ได้ดีใน expression ของฟอร์มหรือรายงาน มากกว่าการใน Visual Basic โดยใน Visual Basic สามารถใช้คำสั่ง If…Then…Else เต็มรูปแบบซึ่งมีการทำงานที่กว้างขวางกว่า

ตัวอย่าง

ตัวอย่างการใช้ฟังก์ชัน IIf ในการหาค่าพารามิเตอร์ TestMe ของ procedure ชื่อ CheckIt และส่งออกค่าเป็นข้อความ “Large” ถ้าผลรวมมากกว่า 1000 กรณีอื่นส่งออกข้อความ “Small”

Function CheckIt (TestMe As Integer)
  CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

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

ตัวอย่างการใช้ฟังก์ชัน IIf ในการหาค่าฟิลด์ OrderAmount และส่งออกค่าเป็นข้อความ “Large” ถ้าผลรวมมากกว่า 1000 กรณีอื่นส่งออกข้อความ “Small” ให้กำหนดค่าของคุณสมบัติ ControlSource ของตัว control ด้วย expression นี้

= IIf([OrderAmount] > 1000, "Large", "Small")