บทความนี้อธิบายวิธีการสร้างนิพจน์เงื่อนไข (หรือที่เรียกว่าบูลีน) ใน Access นิพจน์เงื่อนไขจะประเมินเป็น จริง หรือ เท็จ แล้วส่งกลับผลลัพธ์ที่ตรงตามเงื่อนไขที่คุณระบุ ถ้าคุณใช้ฟังก์ชันในนิพจน์เงื่อนไขของคุณ คุณยังสามารถระบุการกระทําสําหรับค่าต่างๆ ที่ทําได้และไม่ตรงกับเงื่อนไขในนิพจน์ ตัวอย่างเช่น คุณสามารถสร้างนิพจน์ที่ค้นหายอดขายทั้งหมดที่มีกําไรไม่เกิน 10 เปอร์เซ็นต์ แล้วระบุว่าตัวเลขเหล่านั้นจะปรากฏเป็นสีแดง หรือแทนที่ค่าด้วยข้อความ
ในบทความนี้
ทําความเข้าใจนิพจน์เงื่อนไข
นิพจน์เงื่อนไขเป็นชนิดของนิพจน์ที่ทดสอบข้อมูลของคุณเพื่อดูว่าตรงกับเงื่อนไขหรือไม่ แล้วดําเนินการตามผลลัพธ์ ตัวอย่างเช่น นิพจน์สามารถค้นหาค่าวันที่หลังวันที่เริ่มต้นที่กําหนด แล้วแสดงข้อความแสดงข้อผิดพลาดเมื่อคุณพยายามใส่วันที่ก่อนหน้าวันที่เริ่มต้นที่กําหนดไว้
นิพจน์เงื่อนไขจะใช้รูปแบบเดียวกันและใช้ไวยากรณ์พื้นฐานเดียวกันกับนิพจน์อื่นๆ และคุณสามารถใช้ในแบบเดียวกับที่คุณใช้นิพจน์อื่น:
-
สําหรับเขตข้อมูลตาราง ให้คุณเพิ่มนิพจน์ของคุณลงในคุณสมบัติ กฎการตรวจสอบ ของเขตข้อมูล จากนั้น ผู้ใช้จะต้องใส่ค่าในเขตข้อมูลที่ตรงกับเงื่อนไขในนิพจน์ ตัวอย่างเช่น ถ้าคุณใช้นิพจน์ เช่น >=#1/1/2000# ในเขตข้อมูล วันที่/เวลา ผู้ใช้ต้องใส่ค่าเท่ากับหรือหลังวันที่ 1 มกราคม 2000
-
สําหรับตัวควบคุมบนฟอร์ม คุณสามารถเพิ่มนิพจน์ของคุณลงในคุณสมบัติ แหล่งตัวควบคุม หรือ กฎการตรวจสอบ ของตัวควบคุมได้ โดยทั่วไปแล้ว คุณจะเพิ่มนิพจน์เงื่อนไขลงในคุณสมบัติ กฎการตรวจสอบ และเพิ่มนิพจน์ที่คํานวณค่าไปยังคุณสมบัติ แหล่งตัวควบคุม ตัวอย่างเช่น การใช้ >=#1/1/2000# ในคุณสมบัติ กฎการตรวจสอบ ของตัวควบคุมจะป้องกันไม่ให้ผู้ใช้ใส่วันที่ที่ไม่ถูกต้อง การใช้นิพจน์ เช่น Date() ในคุณสมบัติ แหล่งตัวควบคุม จะแสดงวันที่ปัจจุบันเป็นค่าเริ่มต้น
-
สําหรับคิวรี คุณสามารถเพิ่มนิพจน์เงื่อนไขของคุณลงในเซลล์ว่างในแถว เขตข้อมูล หรือคุณสามารถใช้นิพจน์ในแถว เกณฑ์ ของคิวรี เมื่อคุณใช้นิพจน์ในแถว เขตข้อมูล ผลลัพธ์จะปรากฏเป็นคอลัมน์ในผลลัพธ์คิวรี เมื่อคุณใช้นิพจน์เป็นเกณฑ์สําหรับเขตข้อมูลที่มีอยู่ นิพจน์จะทําหน้าที่เป็นตัวกรองและจํากัดระเบียนที่คิวรีส่งกลับ
ตัวอย่างเช่น คุณสามารถใช้นิพจน์นี้ในแถว เขตข้อมูล ของคิวรี: =IIf([วันที่สั่งซื้อ]<=#04/01/2018#,[วันที่สั่งซื้อ],"คําสั่งซื้อที่ใส่หลังจากวันที่ 1 เมษายน") นิพจน์ระบุเกณฑ์วันที่ (<=#04/01/2018#) เมื่อคิวรีทํางาน คิวรีจะแสดงค่าวันที่ทั้งหมดที่ตรงตามเกณฑ์ และค่าวันที่ใดๆ ที่ไม่ตรงตามเกณฑ์จะถูกแทนที่ด้วยข้อความ "คําสั่งซื้อที่ใส่หลังจากวันที่ 1 เมษายน" ขั้นตอนในส่วน เพิ่มนิพจน์ลงในคิวรี จะอธิบายวิธีใช้นิพจน์นี้ในคิวรี
ในทางตรงกันข้าม การใช้นิพจน์นี้ในเขตข้อมูล เกณฑ์ ของคิวรีจะส่งกลับเฉพาะระเบียนที่มีวันที่ที่ตรงตามเกณฑ์: Between #04/01/2018# AND #05/15/2018#
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและการใช้นิพจน์ ให้ดูบทความ เรียนรู้วิธีการสร้างนิพจน์
สร้างนิพจน์เงื่อนไข
ขั้นตอนในส่วนนี้จะอธิบายวิธีการเพิ่มนิพจน์เงื่อนไขลงในตาราง ตัวควบคุมบนฟอร์มหรือรายงาน และคิวรี แต่ละชุดของขั้นตอนใช้นิพจน์ที่แตกต่างกันเล็กน้อยเพื่อทดสอบค่าในเขตข้อมูลวันที่/เวลา และดําเนินการ โดยขึ้นอยู่กับว่าค่าวันที่ตรงตามเงื่อนไขที่ระบุหรือไม่
เพิ่มนิพจน์ลงในเขตข้อมูลตาราง
-
ในบานหน้าต่างนำทาง ให้คลิกขวาที่ตารางที่คุณต้องการเปลี่ยนแปลง แล้วคลิก มุมมองออกแบบ บนเมนูทางลัด
-
ในคอลัมน์ ชนิดข้อมูล ให้คลิกเขตข้อมูล วันที่/เวลา
-
ภายใต้ คุณสมบัติเขตข้อมูล บนแท็บ ทั่วไป ให้คลิกกล่องคุณสมบัติ กฎการตรวจสอบ แล้วพิมพ์นิพจน์ต่อไปนี้
>=#01/01/2000#
หมายเหตุ: คุณไม่จําเป็นต้องใช้รูปแบบวันที่ของสหรัฐอเมริกา คุณสามารถใช้รูปแบบวันที่สําหรับประเทศ/ภูมิภาคหรือตําแหน่งที่ตั้งของคุณ อย่างไรก็ตาม คุณต้องใส่เครื่องหมายปอนด์ (#) กํากับค่าวันที่ตามที่แสดง
-
คลิกคอลัมน์ที่อยู่ถัดจาก ข้อความตรวจสอบ แล้วพิมพ์สตริงข้อความนี้:
วันที่ต้องมากกว่าวันที่ 1 มกราคม 2543
คุณสามารถใช้รูปแบบวันที่ภายในเครื่องของคุณได้
-
บันทึกการเปลี่ยนแปลงของคุณ แล้วสลับไปยังมุมมองแผ่นข้อมูล เมื่อต้องการทําเช่นนั้น ให้คลิกขวาที่แท็บเอกสารสําหรับตาราง แล้วคลิก มุมมองแผ่นข้อมูล บนเมนูทางลัด
-
พิมพ์ค่าวันที่ในเขตข้อมูล วันที่/เวลา ก่อนหน้า 1 มกราคม 2543 Access จะแสดงข้อความที่ระบุในกล่องคุณสมบัติ กฎการตรวจสอบ และคุณไม่สามารถออกจากเขตข้อมูลได้ เว้นแต่ว่าคุณจะใส่ค่าที่นิพจน์ของคุณประเมินเป็นจริง
การเพิ่มนิพจน์ลงในตัวควบคุม
-
ในบานหน้าต่างนําทาง ให้คลิกขวาที่ฟอร์มที่คุณต้องการเปลี่ยนแปลง แล้วคลิก มุมมองออกแบบ บนเมนูทางลัด
-
คลิกขวาที่ตัวควบคุมที่ผูกกับเขตข้อมูลวันที่/เวลา แล้วคลิก คุณสมบัติ บนเมนูทางลัด
แผ่นคุณสมบัติของตัวควบคุมจะปรากฏขึ้น
-
บนแท็บ ข้อมูล หรือแท็บ ทั้งหมด ให้คลิกเขตข้อมูลที่อยู่ถัดจาก กฎการตรวจสอบ แล้วพิมพ์นิพจน์ต่อไปนี้
>=#01/01/2000#
หมายเหตุ: คุณไม่จําเป็นต้องใช้รูปแบบวันที่ของสหรัฐอเมริกา คุณสามารถใช้รูปแบบวันที่สําหรับประเทศ/ภูมิภาคหรือตําแหน่งที่ตั้งของคุณ อย่างไรก็ตาม คุณต้องใส่เครื่องหมายปอนด์ (#) กํากับค่าวันที่ตามที่แสดง
-
คลิกคอลัมน์ที่อยู่ถัดจาก ข้อความตรวจสอบ แล้วพิมพ์สตริงข้อความนี้:
วันที่ต้องมากกว่าวันที่ 1 มกราคม 2543
-
บันทึกการเปลี่ยนแปลงของคุณและสลับกลับไปยังมุมมองฟอร์ม เมื่อต้องการทําเช่นนั้น ให้คลิกขวาที่แท็บเอกสารสําหรับฟอร์ม แล้วคลิก มุมมองฟอร์ม บนเมนูทางลัด
เพิ่มนิพจน์ลงในคิวรี
-
ในบานหน้าต่างนำทาง ให้คลิกขวาที่แบบสอบถามที่คุณต้องการเปลี่ยนแปลง แล้วคลิก มุมมองออกแบบ บนเมนูทางลัด
-
คลิกเซลล์ว่างในแถว เขตข้อมูล ของตารางออกแบบ แล้วพิมพ์นิพจน์ต่อไปนี้:
=IIf([Field_Name]<=#04/01/2018# , [Field_Name] , "วันที่หลังวันที่ 1 เมษายน 2018")
ขณะที่คุณพิมพ์นิพจน์ ให้ตรวจสอบให้แน่ใจว่าคุณแทนที่ทั้งสองอินสแตนซ์ของ Field_Name ด้วยชื่อของเขตข้อมูลวันที่/เวลาของคุณ นอกจากนี้ ถ้าตารางของคุณไม่มีวันที่ก่อนวันที่ 1 เมษายน 2018 ให้เปลี่ยนวันที่ในนิพจน์เพื่อทํางานกับข้อมูลของคุณ
-
บันทึกการเปลี่ยนแปลงของคุณ แล้วคลิก เรียกใช้ เพื่อดูผลลัพธ์
นิพจน์ทํางานดังนี้ อาร์กิวเมนต์แรก (=IIf([Field_Name]<=#04/01/2018#) ระบุเงื่อนไขที่ข้อมูลต้องตรงตาม — วันที่จะต้องเป็นวันที่หรือก่อนหน้า 1 เมษายน 2018 อาร์กิวเมนต์ที่สอง ([Field_Name]) ระบุสิ่งที่ผู้ใช้เห็นเมื่อเงื่อนไขเป็นจริง ซึ่งเป็นวันที่ในเขตข้อมูล อาร์กิวเมนต์ที่สาม ("วันที่หลัง 1 เมษายน 2018")) ระบุข้อความที่ผู้ใช้เห็นเมื่อข้อมูลไม่ตรงตามเงื่อนไข
ขณะที่คุณดําเนินการ โปรดจําไว้ว่าบางนิพจน์เงื่อนไขจะใช้ฟังก์ชัน IIf นอกจากนี้ โปรดทราบว่าฟังก์ชัน IIf เป็นส่วนหนึ่งของนิพจน์ที่ต้องใช้อาร์กิวเมนต์ ไม่ใช่ตัวนิพจน์เอง
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับนิพจน์และวิธีที่คุณสามารถใช้นิพจน์ได้ ให้ดูบทความ เรียนรู้วิธีการสร้างนิพจน์
ตัวอย่างของนิพจน์เงื่อนไข
นิพจน์ในตารางต่อไปนี้แสดงวิธีคํานวณค่าจริงและเท็จ นิพจน์เหล่านี้ใช้ฟังก์ชัน IIf (Immediate If) เพื่อระบุว่าเงื่อนไขเป็นจริงหรือเท็จ แล้วส่งกลับค่าหนึ่งถ้าเงื่อนไขเป็นจริง และอีกค่าหนึ่งถ้าเงื่อนไขเป็นเท็จ
ดูบทความ ฟังก์ชัน IIf สําหรับข้อมูลเพิ่มเติม
นิพจน์ |
คำอธิบาย |
=IIf([ยืนยันแล้ว] = "ใช่", "ยืนยันคําสั่งซื้อแล้ว", "คําสั่งซื้อไม่ได้รับการยืนยัน") |
แสดงข้อความ "Order Confirmed" ถ้าค่าของเขตข้อมูล ยืนยัน แล้ว เป็น ใช่ แต่ถ้าเป็นเช่นนั้น มิฉะนั้น จะแสดงข้อความ "คําสั่งซื้อไม่ได้รับการยืนยัน" |
=IIf(IsNull([ประเทศ/ภูมิภาค]), ", [ประเทศ/ภูมิภาค]) |
แสดงสตริงว่างถ้าค่าของเขตข้อมูล ประเทศ/ภูมิภาค เป็น Null มิฉะนั้น จะแสดงค่าของเขตข้อมูล ประเทศ/ภูมิภาค |
=IIf(IsNull([Region]),[City]&" "& [PostalCode], [City]&" "&[Region]&" " &[PostalCode]) |
แสดงค่าของเขตข้อมูล City และ PostalCode ถ้าค่าของเขตข้อมูล Region เป็น Null มิฉะนั้น จะแสดงค่าของเขตข้อมูลเมือง ภูมิภาค และรหัสไปรษณีย์ |
=IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
แสดงข้อความ "ตรวจสอบวันที่หายไป" ถ้าผลลัพธ์ของการลบค่าของเขตข้อมูล ShippedDate จากเขตข้อมูล RequiredDate เป็น Null มิฉะนั้น จะแสดงความแตกต่างระหว่างค่าของเขตข้อมูล RequiredDate และ ShippedDate |