ใน Microsoft Access คุณสามารถใช้นิพจน์เพื่อทํางานต่างๆ ได้มากมาย เช่น การคํานวณทางคณิตศาสตร์ การรวมหรือแยกข้อความ หรือการตรวจสอบความถูกต้องของข้อมูล บทความนี้จะให้ข้อมูลโดยรวมเกี่ยวกับนิพจน์ เช่น ใช้นิพจน์เมื่อใด ส่วนประกอบของนิพจน์ และข้อเปรียบเทียบกับสูตร Microsoft Excel
ในบทความนี้
- ภาพรวมของนิพจน์
- วิธีการใช้นิพจน์
- ตัวอย่างนิพจน์
- องค์ประกอบของนิพจน์
- การเปรียบเทียบนิพจน์ Access และสูตร Excel
ภาพรวมของนิพจน์
ให้คิดว่า: เมื่อคุณต้องการให้ Access ทําบางอย่าง คุณต้องพูดภาษาของ Access ตัวอย่างเช่น สมมติว่าคุณต้องการบอกให้ Access "ดูที่เขตข้อมูล วันเกิด ในตาราง ลูกค้า และบอกปีเกิดของลูกค้าให้ฉันทราบ" คุณสามารถเขียนนิพจน์นี้เป็น:
DatePart("yyyy",[Customers]![BirthDate])
นิพจน์นี้ประกอบด้วยฟังก์ชัน DatePart และค่าอาร์กิวเมนต์สองค่า คือ "yyyy"[Customers]![BirthDate]และ
มาดูรายละเอียดเพิ่มเติมในนิพจน์นี้
1 DatePart คือฟังก์ชันที่ตรวจสอบวันที่และส่งกลับส่วนเฉพาะ ในกรณีนี้ จะใช้สองอาร์กิวเมนต์แรก
2 อาร์กิวเมนต์ช่วงจะบอกส่วนของวันที่ที่ Access จะส่งกลับ ซึ่งในกรณีนี้ จะ "yyyy" บอก Access ว่าคุณต้องการให้ส่งกลับเฉพาะส่วนปีของวันที่
3 อาร์กิวเมนต์วันที่จะบอกตําแหน่งให้ Access ค้นหาค่าวันที่ ซึ่งในกรณีนี้ [Customers]![BirthDate] จะบอกให้ Access ค้นหาวันที่ในเขตข้อมูล วันเกิด ของตาราง ลูกค้า
วิธีการใช้นิพจน์
คุณสามารถใช้นิพจน์ด้วยวิธีต่อไปนี้:
- คํานวณค่า ที่ไม่มีอยู่โดยตรงในข้อมูลของคุณ คุณสามารถคํานวณค่าในเขตข้อมูลในตารางและคิวรี และยังสามารถคํานวณค่าในตัวควบคุมที่อยู่บนฟอร์มหรือรายงานได้ด้วย
- กําหนดค่าเริ่มต้น สําหรับเขตข้อมูลตาราง หรือสําหรับตัวควบคุมบนฟอร์มหรือรายงาน ค่าเริ่มต้นเหล่านี้จะปรากฏเมื่อใดก็ตามที่คุณเปิดตาราง ฟอร์ม หรือรายงาน
- สร้างกฎการตรวจสอบ เพื่อควบคุมว่าค่าใดที่ผู้ใช้สามารถใส่ลงในเขตข้อมูลหรือตัวควบคุมได้
- กำหนดเกณฑ์คิวรี เพื่อจำกัดผลลัพธ์ให้กับชุดย่อยที่ต้องการ
คำนวณค่า
หนึ่งในวิธีทั่วไปในการใช้นิพจน์ใน Access คือการคํานวณค่าที่ไม่อยู่ในข้อมูลของคุณโดยตรง คอลัมน์ในตารางหรือคิวรีที่เป็นผลลัพธ์จากการคํานวณดังกล่าวจะเรียกว่าคอลัมน์จากการคํานวณ คุณสามารถสร้างเขตข้อมูลจากการคํานวณที่รวมเขตข้อมูลตารางอย่างน้อยสองเขตข้อมูล ตัวอย่างเช่น หลายตารางจัดเก็บชื่อและนามสกุลในเขตข้อมูลที่แยกกัน ถ้าคุณต้องการรวมชื่อและนามสกุลเหล่านั้น แล้วแสดงในเขตข้อมูลเดียว คุณสามารถสร้างเขตข้อมูลจากการคํานวณในตารางหรือในคิวรีได้ดังนี้
[FirstName] & " " & [LastName].
ในกรณีนี้ เครื่องหมายและ ()& จะรวมค่าใน FirstName เขตข้อมูล อักขระช่องว่าง (ช่องว่างที่อยู่ในเครื่องหมายอัญประกาศ) และค่าใน LastName เขตข้อมูล
กำหนดค่าเริ่มต้น
คุณยังสามารถใช้นิพจน์ใน Access เพื่อเป็นค่าเริ่มต้นสําหรับเขตข้อมูลในตารางหรือสําหรับตัวควบคุม ตัวอย่างเช่น เมื่อต้องการตั้งค่าเริ่มต้นของเขตข้อมูลวันที่ให้เป็นวันที่ปัจจุบัน ใน กล่องคุณสมบัติค่าเริ่มต้น สําหรับเขตข้อมูลนั้น ให้คุณพิมพ์ดังต่อไปนี้
Date()
สร้างกฎการตรวจสอบ
นอกจากนี้ คุณยังสามารถใช้นิพจน์เพื่อตั้งค่ากฎการตรวจสอบได้ ตัวอย่างเช่น คุณสามารถใช้กฎการตรวจสอบในตัวควบคุมหรือเขตข้อมูลตารางเพื่อบังคับให้วันที่ที่ใส่มากกว่าหรือเท่ากับวันที่ปัจจุบัน ในกรณีดังกล่าว ให้คุณตั้งค่าในกล่องคุณสมบัติ กฎการตรวจสอบ เพื่อ:
>= Date()
กำหนดเกณฑ์คิวรี
สุดท้าย คุณสามารถใช้นิพจน์เพื่อตั้งค่าเกณฑ์สําหรับคิวรีได้ ตัวอย่างเช่น สมมติว่าคุณต้องการดูยอดขายผลิตภัณฑ์สําหรับใบสั่งซื้อที่จัดส่งภายในช่วงเวลาหนึ่ง คุณสามารถใส่เกณฑ์เพื่อกําหนดช่วงวันที่ แล้ว Access จะส่งกลับเฉพาะแถวที่ตรงกับเกณฑ์นั้น ตัวอย่างเช่น นิพจน์ของคุณอาจมีลักษณะดังนี้
Between #1/1/2017# And #12/31/2017#
เมื่อคุณเพิ่มเกณฑ์ในคิวรีแล้วเรียกใช้ คิวรีจะส่งกลับเฉพาะค่าที่ตรงกับวันที่ที่ระบุเท่านั้น
ตัวอย่างนิพจน์
ตารางต่อไปนี้แสดงรายการตัวอย่างนิพจน์ Access และวิธีใช้โดยทั่วไป
| นิพจน์ | วัตถุประสงค์ |
|---|---|
=[RequiredDate]-[ShippedDate] |
คำนวณผลต่างระหว่างค่าวันที่ในตัวควบคุมกล่องข้อความ 2 ตัว (ชื่อว่าวันที่กำหนดส่งและวันที่ส่งสินค้า) บนรายงาน |
Date() |
ตั้งค่าเริ่มต้นของเขตข้อมูลตารางชนิด วันที่/เวลา ให้เป็นวันที่ปัจจุบัน |
Between #1/1/2017# And #12/31/2017# |
ระบุเกณฑ์สำหรับเขตข้อมูลวันที่/เวลาในคิวรี |
=[Orders Subform].Form!OrderSubtotal |
ส่งกลับค่าของตัวควบคุมผลรวมย่อยของใบสั่งซื้อบนฟอร์มย่อยใบสั่งซื้อที่อยู่บนฟอร์มใบสั่งซื้อ |
>0 |
ตั้งกฎการตรวจสอบสำหรับเขตข้อมูลแบบตัวเลขในตาราง โดยผู้ใช้ต้องใส่ค่าที่มากกว่าศูนย์ |
บางนิพจน์เริ่มต้นด้วยตัวดําเนินการเท่ากับ (=) แต่บางนิพจน์ไม่ใช่ เมื่อคุณคํานวณค่าสําหรับตัวควบคุมบนฟอร์มหรือรายงาน คุณต้องใช้ตัว = ดําเนินการเพื่อเริ่มนิพจน์ ในกรณีอื่นๆ เช่น เมื่อคุณพิมพ์นิพจน์ในคิวรีหรือในคุณสมบัติ DefaultValue หรือ ValidationRule ของเขตข้อมูลหรือตัวควบคุม คุณไม่ใช้ = ตัวดําเนินการ เว้นแต่คุณจะเพิ่มนิพจน์ลงในเขตข้อมูลข้อความในตาราง ในบางกรณี เช่น เมื่อคุณเพิ่มนิพจน์ลงในคิวรี Access จะเอาตัวดําเนินการออกโดยอัตโนมัติ=
องค์ประกอบของนิพจน์
นิพจน์ประกอบด้วยคอมโพเนนต์ที่คุณสามารถใช้ได้ ไม่ว่าจะเป็นตัวเดียวหรือผสมกัน เพื่อสร้างผลลัพธ์ คอมโพเนนต์เหล่านี้ ได้แก่:
- ตัวระบุ ชื่อของเขตข้อมูลตารางหรือตัวควบคุมบนแบบฟอร์มหรือรายงาน หรือคุณสมบัติของเขตข้อมูลหรือตัวควบคุมเหล่านั้น
-
ตัวดําเนินการ ตัวอย่างเช่น (
+บวก) หรือ-(ลบ) - ฟังก์ชัน ตัวอย่างเช่น SUM หรือ AVG
- ค่าคงที่ ค่าที่ไม่เปลี่ยนแปลง — เช่น สตริงข้อความ หรือตัวเลขที่ไม่ถูกคำนวณโดยนิพจน์
- ค่า สตริง เช่น "ใส่ตัวเลขระหว่าง 1 และ 10" หรือตัวเลข เช่น 1,254 ที่ใช้ในการดําเนินการ
ส่วนต่อไปนี้จะอธิบายคอมโพเนนต์เหล่านี้ในรายละเอียดเพิ่มเติม
ตัวระบุ
ตัวระบุคือชื่อของเขตข้อมูล คุณสมบัติ หรือตัวควบคุม คุณต้องใช้ตัวระบุในนิพจน์เพื่ออ้างถึงค่าที่เชื่อมโยงกับเขตข้อมูล คุณสมบัติ หรือตัวควบคุม ตัวอย่างเช่น ลองพิจารณานิพจน์=[RequiredDate]-[ShippedDate] นิพจน์นี้ลบค่าของ ShippedDate เขตข้อมูลหรือตัวควบคุมออกจากค่าของ RequiredDate เขตข้อมูลหรือตัวควบคุม ในนิพจน์นี้ ทั้ง RequiredDate และทําหน้าที่เป็น ShippedDate ตัวระบุ
ตัวดำเนินการ
Access สนับสนุนตัวดําเนินการต่างๆ รวมทั้งตัวดําเนินการทางคณิตศาสตร์ทั่วไป เช่น +, -, * (คูณ) และ / (หาร) คุณยังสามารถใช้ตัวดําเนินการเปรียบเทียบ เช่น < (น้อยกว่า) หรือ > (มากกว่า) เพื่อเปรียบเทียบค่า ตัวดําเนินการข้อความ เช่น & AND + สําหรับการต่อ (การรวม) ข้อความ ตัวดําเนินการตรรกะ เช่น AND NotAnd เพื่อพิจารณาค่าจริงหรือเท็จ และตัวดําเนินการอื่นๆ ที่มีเฉพาะใน Access
ฟังก์ชัน
ฟังก์ชันเป็นกระบวนงานที่มีอยู่แล้วภายใน ซึ่งคุณสามารถใช้ได้ในนิพจน์ของคุณ คุณสามารถใช้ฟังก์ชันสําหรับการดําเนินการต่างๆ ที่หลากหลาย เช่น การคํานวณค่า การจัดการข้อความและวันที่ และการสรุปข้อมูล ตัวอย่างเช่น ฟังก์ชันหนึ่งที่ใช้กันเป็นส่วนใหญ่คือ DATE ซึ่งจะส่งกลับวันที่ปัจจุบัน คุณสามารถใช้ฟังก์ชัน DATE ได้หลายวิธี เช่น ในนิพจน์ที่ตั้งค่าเริ่มต้นสําหรับเขตข้อมูลในตาราง ในตัวอย่างนี้ ทุกครั้งที่มีผู้เพิ่มระเบียนใหม่ ค่าของเขตข้อมูลจะถูกตั้งค่าเป็นวันที่ปัจจุบันตามค่าเริ่มต้น
บางฟังก์ชันจําเป็นต้องมีอาร์กิวเมนต์ อาร์กิวเมนต์ คือค่าที่ให้ข้อมูลกับฟังก์ชัน ถ้าฟังก์ชันต้องการอาร์กิวเมนต์มากกว่า 1 อาร์กิวเมนต์ คุณต้องแยกอาร์กิวเมนต์ออกจากกันด้วยจุลภาค ตัวอย่างเช่น ให้พิจารณาฟังก์ชัน DATE ในนิพจน์ตัวอย่างต่อไปนี้
=Format(Date(),"mmmm d, yyyy")
ตัวอย่างนี้ใช้สองอาร์กิวเมนต์:
- อาร์กิวเมนต์แรกคือ
Date()ฟังก์ชัน ซึ่งจะส่งกลับวันที่ปัจจุบัน เมื่อไม่มีอาร์กิวเมนต์ คุณยังคงต้องเพิ่มวงเล็บฟังก์ชัน - อาร์กิวเมนต์
"mmmm d, yyyy"ที่สอง ซึ่งถูกคั่นจากอาร์กิวเมนต์แรกด้วยเครื่องหมายจุลภาค ระบุสตริงข้อความเพื่อแนะนําฟังก์ชัน FORMAT ถึงวิธีจัดรูปแบบค่าวันที่ที่ส่งกลับ โปรดทราบว่าสตริงข้อความต้องอยู่ระหว่างเครื่องหมายอัญประกาศ
นิพจน์นี้ยังแสดงว่าคุณสามารถซ้อนค่าที่ส่งกลับโดยฟังก์ชันหนึ่งเป็นอาร์กิวเมนต์กับฟังก์ชันอื่น ในกรณีนี้ทําหน้าที่เป็น Date() ข้อโต้แย้ง
ค่าคงที่
ค่าคงที่คือรายการที่มีค่าไม่เปลี่ยนแปลงขณะที่ Access กําลังทํางาน
True, , Falseและ Null ค่าคงที่มักจะใช้ในนิพจน์
ค่า
คุณสามารถใช้ค่าตัวอักษรในนิพจน์ของคุณ เช่น ตัวเลข 1,254 หรือสตริง “ใส่ตัวเลขระหว่าง 1 และ 10” คุณยังสามารถใช้ค่าตัวเลข ซึ่งอาจเป็นชุดหลักตัวเลข รวมถึงเครื่องหมายและจุดทศนิยม ถ้าจำเป็น
เมื่อคุณใช้ค่าสตริงข้อความ ให้ใส่สตริงเหล่านั้นไว้ในเครื่องหมายอัญประกาศ เพื่อช่วยให้แน่ใจว่า Access จะตีความสตริงข้อความเหล่านั้นอย่างถูกต้อง ในบางกรณี Access จะใส่เครื่องหมายอัญประกาศให้คุณ ตัวอย่างเช่น เมื่อคุณพิมพ์ข้อความในนิพจน์สําหรับกฎการตรวจสอบหรือสําหรับเกณฑ์แบบสอบถาม Access จะล้อมรอบสตริงข้อความของคุณด้วยเครื่องหมายอัญประกาศโดยอัตโนมัติ
เมื่อต้องการใช้ค่าวันที่/เวลา ให้ล้อมรอบค่าด้วยเครื่องหมายเลขที่ ()# ตัวอย่างเช่น #3-7-17#, #7-Mar-17#ค่าวันที่ #Mar-7-2017# /เวลาที่ถูกต้องทั้งหมด เมื่อ Access พบค่าวันที่/เวลาที่ถูกต้องที่ล้อมรอบด้วยอักขระ # Access จะถือว่าค่านั้นเป็นชนิดข้อมูล วันที่/เวลา โดยอัตโนมัติ
การเปรียบเทียบนิพจน์ Access และสูตร Excel
นิพจน์ Access จะคล้ายกับสูตร Excel ตรงที่ใช้องค์ประกอบที่คล้ายกันในการสร้างผลลัพธ์ ทั้งสูตร Excel และนิพจน์ Access จะมีอย่างน้อยหนึ่งสิ่งต่อไปนี้:
-
ตัวระบุ ใน Excel ตัวระบุคือ ชื่อของแต่ละเซลล์หรือช่วงของเซลล์ในเวิร์กบุ๊ก เช่น A1, B3:C6 หรือ Sheet2! ค 32. ใน Access ตัวระบุคือชื่อของเขตข้อมูลตาราง (เช่น
[Contacts]![First Name]) ตัวควบคุมบนแบบฟอร์มหรือรายงาน (เช่นForms![Task List]![Description]) หรือคุณสมบัติของเขตข้อมูลหรือตัวควบคุมเหล่านั้น (เช่นForms![Task List]![Description].ColumnWidth) -
ตัวดําเนินการ ทั้ง Access และ Excel จะมีการใช้ตัวดําเนินการเพื่อเปรียบเทียบค่า หรือเพื่อทําการคํานวณอย่างง่ายกับข้อมูลของคุณ ตัวอย่างเช่น
+(บวก) หรือ-(ลบ) - ฟังก์ชัน ทั้งใน Access และ Excel ฟังก์ชันและอาร์กิวเมนต์จะถูกใช้เพื่อทํางานที่คุณไม่สามารถทําได้โดยใช้ตัวดําเนินการเพียงอย่างเดียว ตัวอย่างเช่น คุณสามารถหาค่าเฉลี่ยของค่าในเขตข้อมูล หรือแปลงผลลัพธ์ของการคํานวณเป็นรูปแบบสกุลเงินได้ ตัวอย่างของฟังก์ชัน ได้แก่ SUM และ STDEV อาร์กิวเมนต์คือค่าที่ให้ข้อมูลแก่ฟังก์ชัน โปรดทราบว่าทั้ง Access และ Excel ต่างก็มีหลายฟังก์ชันให้เลือก แต่ชื่อของฟังก์ชันที่คล้ายคลึงกันในโปรแกรมอาจแตกต่างกันในบางครั้ง ตัวอย่างเช่น ฟังก์ชัน AVERAGE ใน Excel จะสอดคล้องกับฟังก์ชัน AVG ใน Access
- ค่าคงที่ ทั้งใน Access และ Excel ค่าคงที่คือค่าที่ไม่เปลี่ยนแปลง เช่น ตัวเลขที่ไม่ได้คำนวณโดยใช้นิพจน์
- ค่า ในทั้ง Access และ Excel ค่าจะถูกใช้ด้วยวิธีที่คล้ายกัน
นิพจน์ Access จะใช้ตัวดําเนินการและค่าคงที่ที่คล้ายกับที่ใช้ในสูตร Excel แต่นิพจน์ Access จะใช้ตัวระบุและฟังก์ชันที่แตกต่างออกไป ในขณะที่คุณสามารถใช้สูตร Excel ได้เพียงที่เดียว คือในเซลล์ของเวิร์กชีต แต่คุณจะสามารถใช้นิพจน์ Access ได้หลายที่สําหรับงานต่างๆ รวมถึงงานต่อไปนี้
- การสร้างตัวควบคุมที่มีการคำนวณบนฟอร์มและรายงาน
- การสร้างเขตข้อมูลจากการคำนวณในตารางและคิวรี
- การทำหน้าที่เป็นเกณฑ์ในคิวรี
- การตรวจสอบความถูกต้องของข้อมูลที่ใส่ลงในเขตข้อมูลหรือลงในตัวควบคุมบนฟอร์ม
- การจัดกลุ่มข้อมูลในรายงาน
คุณสามารถใช้นิพจน์ Access หรือสูตร Excel เพื่อคํานวณค่าตัวเลขหรือวันที่/เวลาโดยใช้ตัวดําเนินการทางคณิตศาสตร์ได้ ตัวอย่างเช่น เมื่อต้องการคํานวณราคาที่ลดแล้วสําหรับลูกค้า คุณสามารถใช้สูตร Excel =C2*(1-D2) หรือนิพจน์ = [Unit Price]*(1-[Discount])Access
คุณยังสามารถใช้นิพจน์ Access หรือสูตร Excel เพื่อรวม แยก หรือจัดการสตริงโดยใช้ตัวดําเนินการสตริง ตัวอย่างเช่น เมื่อต้องการรวมชื่อและนามสกุลลงในสตริงเดียว คุณสามารถใช้สูตร Excel =D3 & " " & D4 หรือนิพจน์ = [First Name] & " " & [Last Name]Access
ใช้ตัวสร้างนิพจน์สร้างนิพจน์คำแนะนำไวยากรณ์ของนิพจน์ตัวอย่างของนิพจน์