คุณสามารถใช้นิพจน์สําหรับงานต่างๆ ใน Microsoft Access เช่น การคํานวณทางคณิตศาสตร์ การรวมหรือการแยกข้อความ หรือการตรวจสอบความถูกต้องของข้อมูล บทความนี้จะให้ข้อมูลภาพรวมเกี่ยวกับนิพจน์ — เมื่อใดควรใช้ส่วนต่างๆ ของคอมโพเนนต์ และเปรียบเทียบกับสูตร Microsoft Excel
ในบทความนี้
ภาพรวมของนิพจน์
ลองคิดดูด้วยวิธีนี้: เมื่อคุณต้องการให้ Access ทําอะไรบางอย่าง คุณต้องพูดภาษาของ Access ตัวอย่างเช่น สมมติว่าคุณต้องการบอก Access ว่า "ดูที่เขตข้อมูล BirthDate ในตาราง Customers และแจ้งปีเกิดของลูกค้าให้ฉันทราบ" คุณสามารถเขียนนิพจน์นี้เป็น:
DatePart("yyyy",[Customers]![BirthDate])
นิพจน์นี้ประกอบด้วยฟังก์ชัน DatePart และค่าอาร์กิวเมนต์สองค่า คือ "yyyy" และ [Customers]![BirthDate]
มาดูรายละเอียดเพิ่มเติมในนิพจน์นี้
1 DatePart คือฟังก์ชันที่ตรวจสอบวันที่และส่งกลับส่วนที่ระบุ ในกรณีนี้ จะใช้สองอาร์กิวเมนต์แรก
2 อาร์กิวเมนต์ช่วงเวลาจะบอกให้ Access ทราบถึงส่วนของวันที่ที่จะส่งกลับ ในกรณีนี้ "yyyy" จะบอก Access ว่าคุณต้องการให้ส่งกลับเฉพาะส่วนปีของวันที่
3 อาร์กิวเมนต์วันที่จะบอกให้ Access ค้นหาค่าวันที่ ได้ที่ใด ในกรณีนี้ [Customers]![BirthDate] จะบอกให้ Access ค้นหาวันที่ในเขตข้อมูล BirthDate ของตาราง Customers
วิธีการใช้นิพจน์
คุณสามารถใช้นิพจน์ด้วยวิธีต่อไปนี้:
-
คํานวณค่า ที่ไม่มีอยู่โดยตรงในข้อมูลของคุณ คุณสามารถคํานวณค่าในเขตข้อมูลในตารางและคิวรี และคุณยังสามารถคํานวณค่าในตัวควบคุมบนฟอร์มและรายงานได้ด้วย
-
กําหนดค่าเริ่มต้น สําหรับเขตข้อมูลตารางหรือสําหรับตัวควบคุมบนฟอร์มหรือรายงาน ค่าเริ่มต้นเหล่านี้จะปรากฏขึ้นทุกครั้งที่คุณเปิดตาราง ฟอร์ม หรือรายงาน
-
สร้างกฎการตรวจสอบ เพื่อควบคุมว่าค่าใดที่ผู้ใช้สามารถใส่ลงในเขตข้อมูลหรือตัวควบคุมได้
-
กำหนดเกณฑ์คิวรี เพื่อจำกัดผลลัพธ์ให้กับชุดย่อยที่ต้องการ
คำนวณค่า
หนึ่งในวิธีทั่วไปในการใช้นิพจน์ใน 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
-
ค่าคงที่ ค่าที่ไม่เปลี่ยนแปลง เช่น สตริงข้อความ หรือตัวเลขที่ไม่ได้คํานวณโดยนิพจน์
-
Values สตริง เช่น "ใส่ตัวเลขระหว่าง 1 และ 10" หรือตัวเลข เช่น 1,254 ที่ใช้ในการดําเนินการ
ส่วนต่อไปนี้จะอธิบายคอมโพเนนต์เหล่านี้ในรายละเอียดเพิ่มเติม
ตัวระบุ
ตัวระบุคือชื่อของเขตข้อมูล คุณสมบัติ หรือตัวควบคุม คุณต้องใช้ตัวระบุในนิพจน์เพื่ออ้างถึงค่าที่เชื่อมโยงกับเขตข้อมูล คุณสมบัติ หรือตัวควบคุม ตัวอย่างเช่น ลองพิจารณานิพจน์ =[RequiredDate]-[ShippedDate] นิพจน์นี้ลบค่าของเขตข้อมูลหรือตัวควบคุม ShippedDate ออกจากค่าของเขตข้อมูลหรือตัวควบคุม RequiredDate ในนิพจน์นี้ ทั้ง RequiredDate และ ShippedDate ทำหน้าที่เป็นตัวระบุ
ตัวดำเนินการ
Access สนับสนุนตัวดำเนินการต่างๆ รวมทั้งตัวดำเนินการทางคณิตศาสตร์ทั่วไป เช่น +, -, * (คูณ) และ / (หาร) คุณยังสามารถใช้ตัวดำเนินการเปรียบเทียบ เช่น < (น้อยกว่า) หรือ > (มากกว่า) สำหรับการเปรียบเทียบค่า ใช้ตัวดำเนินการข้อความ เช่น & และ + สำหรับการต่อ (การรวม) ข้อความ ใช้ตัวดำเนินการทางตรรกะ เช่น Not และ And เพื่อพิจารณาค่าจริงหรือเท็จ และยังมีตัวดำเนินการอื่นๆ ที่มีเฉพาะใน Access อีกด้วย
ฟังก์ชัน
ฟังก์ชันคือขั้นตอนที่มีอยู่แล้วภายในที่คุณสามารถใช้ในนิพจน์ของคุณได้ คุณสามารถใช้ฟังก์ชันสําหรับการดําเนินการที่หลากหลาย เช่น การคํานวณค่า การจัดการข้อความและวันที่ และการสรุปข้อมูล ตัวอย่างเช่น หนึ่งฟังก์ชันที่ใช้กันทั่วไปคือ DATE ซึ่งส่งกลับวันที่ปัจจุบัน คุณสามารถใช้ฟังก์ชัน DATE ได้หลายวิธี เช่น ในนิพจน์ที่ตั้งค่าเริ่มต้นสําหรับเขตข้อมูลในตาราง ในตัวอย่างนี้ เมื่อใดก็ตามที่มีคนเพิ่มระเบียนใหม่ ค่าสําหรับเขตข้อมูลจะถูกตั้งค่าเป็นวันที่ปัจจุบันตามค่าเริ่มต้น
ฟังก์ชันบางฟังก์ชันต้องการอาร์กิวเมนต์ อาร์กิวเมนต์เป็นค่าที่ให้ข้อมูลป้อนเข้าไปยังฟังก์ชัน ถ้าฟังก์ชันต้องการอาร์กิวเมนต์มากกว่าหนึ่งอาร์กิวเมนต์ ให้คุณคั่นอาร์กิวเมนต์ด้วยเครื่องหมายจุลภาค ตัวอย่างเช่น ให้พิจารณาฟังก์ชัน 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 และสูตร Excel
นิพจน์ Access จะคล้ายกับสูตร Excel ในที่ใช้องค์ประกอบที่คล้ายกันเพื่อสร้างผลลัพธ์ ทั้งสูตร Excel และนิพจน์ Access มีอย่างน้อยหนึ่งอย่างต่อไปนี้:
-
ตัวระบุ ใน Excel ตัวระบุคือ ชื่อของแต่ละเซลล์หรือช่วงของเซลล์ในเวิร์กบุ๊ก เช่น A1, B3:C6 หรือ Sheet2!C32 ใน 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 ค่าคงที่คือค่าที่ไม่เปลี่ยนแปลง เช่น ตัวเลขที่ไม่ได้คำนวณโดยใช้นิพจน์
-
Values ในทั้ง Access และ Excel ค่าจะถูกใช้ด้วยวิธีที่คล้ายกัน
นิพจน์ Access ใช้ตัวดําเนินการและค่าคงที่ที่คล้ายกับที่ใช้ในสูตร Excel แต่นิพจน์ Access จะใช้ตัวระบุและฟังก์ชันที่แตกต่างกัน ในขณะที่สูตร Excel มักจะใช้ในเซลล์เวิร์กชีตเท่านั้น นิพจน์ Access จะถูกใช้ในหลายตําแหน่งภายใน Access สําหรับงานต่างๆ รวมถึงรายการต่อไปนี้:
-
การสร้างตัวควบคุมที่มีการคำนวณบนฟอร์มและรายงาน
-
การสร้างเขตข้อมูลจากการคำนวณในตารางและคิวรี
-
การทำหน้าที่เป็นเกณฑ์ในคิวรี
-
การตรวจสอบความถูกต้องของข้อมูลที่ใส่ลงในเขตข้อมูลหรือลงในตัวควบคุมบนฟอร์ม
-
การจัดกลุ่มข้อมูลในรายงาน
คุณสามารถใช้นิพจน์ Access หรือสูตร Excel เพื่อคํานวณค่าตัวเลขหรือวันที่/เวลาโดยใช้ตัวดําเนินการทางคณิตศาสตร์ ตัวอย่างเช่น เมื่อต้องการคํานวณราคาส่วนลดสําหรับลูกค้า คุณสามารถใช้สูตร Excel =C2*(1-D2) หรือนิพจน์ Access = [Unit Price]*(1-[Discount])
คุณยังสามารถใช้นิพจน์ Access หรือสูตร Excel เพื่อรวม แยก หรือจัดการสตริงโดยใช้ตัวดําเนินการสตริง ตัวอย่างเช่น เมื่อต้องการรวมชื่อและนามสกุลให้เป็นสตริงเดียว คุณสามารถใช้สูตร Excel =D3 & " " & D4 หรือนิพจน์ Access = [First Name] & " " & [Last Name]