ตัวอย่างนิพจน์

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

บทความนี้มีตัวอย่างของนิพจน์ใน Access นิพจน์จะรวมตัวดําเนินการทางคณิตศาสตร์หรือทางตรรกะ ค่าคงที่ ฟังก์ชัน เขตข้อมูลตาราง ตัวควบคุม และคุณสมบัติให้เป็นค่าเดียว คุณสามารถใช้นิพจน์ใน Access เพื่อคํานวณค่า ตรวจสอบความถูกต้องของข้อมูล และตั้งค่าเริ่มต้น

ในบทความนี้

แบบฟอร์มและรายงาน

นิพจน์แบบฟอร์มและรายงานทั้งหมด

การดําเนินการด้านข้อความค่าในตัวควบคุมอื่นการดําเนินการวันที่ หัวกระดาษและท้ายกระดาษ; หัวกระดาษและท้ายกระดาษนับ รวม และหาค่าเฉลี่ยเงื่อนไขที่มีเพียงสองค่า การดําเนินการทางคณิตศาสตร์ฟังก์ชันการรวมของ SQL

คิวรีและตัวกรอง

นิพจน์คิวรีและตัวกรองทั้งหมด

การดําเนินการด้านข้อความฟังก์ชันการรวมของ SQL; ฟังก์ชันการรวมตรงกับค่าข้อความ; ตรงกับรูปแบบระเบียนที่มี Like; อัปเดตคิวรี การดําเนินการทางคณิตศาสตร์ค้นหาข้อมูลที่หายไปตรงกับเกณฑ์วันที่;ตรงกันกับแถวที่มีการรวม SQL; คําสั่ง SQL การดําเนินงานวันที่; การดู เขตข้อมูลจากการคํานวณที่มีคิวรีย่อยเขตข้อมูลที่มีข้อมูลที่ขาดหายไปจับคู่เขตข้อมูลที่มีคิวรีย่อย

ตาราง

นิพจน์ตารางทั้งหมด

ค่าเริ่มต้นของเขตข้อมูล กฎการตรวจสอบความถูกต้องของเขตข้อมูล

แมโคร

นิพจน์แมโครทั้งหมด

แบบฟอร์มและรายงาน

ตารางในส่วนนี้แสดงนิพจน์ที่คํานวณค่าในตัวควบคุมบนฟอร์มหรือรายงาน เมื่อต้องการสร้างตัวควบคุมจากการคํานวณ ให้ใส่นิพจน์ใน ControlSource คุณสมบัติของตัวควบคุมแทนที่จะใส่ในเขตข้อมูลตารางหรือคิวรี

หมายเหตุ

คุณยังสามารถใช้นิพจน์ในแบบฟอร์มหรือรายงานเมื่อคุณเน้นข้อมูลด้วยการจัดรูปแบบตามเงื่อนไข

การดำเนินการข้อความ

นิพจน์ในตารางต่อไปนี้ใช้ตัว & ดําเนินการ (เครื่องหมายและ) และ + (บวก) เพื่อรวมสตริงข้อความ ใช้ฟังก์ชันที่มีอยู่แล้วภายในเพื่อทํางานกับข้อความ หรือสร้างตัวควบคุมจากการคํานวณ

นิพจน์ ผลลัพธ์
="N/A" แสดง N/A
=[FirstName] & " " & [LastName] แสดงค่าที่อยู่ในเขตข้อมูลตารางที่เรียกว่า FirstName และ LastName ในตัวอย่าง & นี้ ตัวดําเนินการจะใช้เพื่อรวมเขตข้อมูล FirstName อักขระช่องว่าง (อยู่ในเครื่องหมายอัญประกาศ) และเขตข้อมูล LastName
=Left([ProductName], 1) Leftใช้ฟังก์ชันเพื่อแสดงอักขระแรกของค่าในเขตข้อมูลหรือตัวควบคุมที่เรียกว่าProductName
=Right([AssetCode], 2) Rightใช้ฟังก์ชันเพื่อแสดงอักขระสองตัวสุดท้ายของค่าในเขตข้อมูลหรือตัวควบคุมที่เรียกว่าAssetCode
=Trim([Address]) Trimใช้ฟังก์ชันเพื่อแสดงค่าของAddressตัวควบคุมหลังจากเอาช่องว่างนําหน้าและต่อท้ายออก
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) IIfใช้ฟังก์ชันเพื่อแสดงค่าของCityตัวควบคุม และ PostalCode ถ้าRegionตัวควบคุมเป็น null มิฉะนั้น จะแสดงค่าของCityRegionตัวควบคุม และ PostalCode โดยคั่นด้วยช่องว่าง
=[City] & (" " + [Region]) & " " & [PostalCode] ใช้ตัว + ดําเนินการและการเผยแพร่ค่า null เพื่อแสดงค่าของ City ตัวควบคุม และ PostalCode ถ้าค่าใน Region เขตข้อมูลหรือตัวควบคุมเป็น null มิฉะนั้น จะแสดงค่าของCityRegionเขตข้อมูล หรือ ตัวควบคุม และ PostalCode โดยคั่นด้วยช่องว่าง การเผยแพร่ค่า Null หมายความว่าถ้าส่วนใดส่วนหนึ่งของนิพจน์เป็น null นิพจน์ทั้งหมดจะเป็น null ตัว + ดําเนินการสนับสนุนการเผยแพร่ค่า Null แต่ตัว & ดําเนินการไม่สนับสนุน

กลับสู่ด้านบน

หัวกระดาษและท้ายกระดาษ

Pageใช้คุณสมบัติ และ Pages เพื่อแสดงหรือพิมพ์หมายเลขหน้าในแบบฟอร์มหรือรายงาน คุณสมบัติเหล่านี้จะพร้อมใช้งานระหว่างการพิมพ์หรือตัวอย่างก่อนพิมพ์เท่านั้น เพื่อไม่ให้ปรากฏบนแผ่นคุณสมบัติสําหรับฟอร์มหรือรายงาน โดยทั่วไปแล้ว คุณจะวางกล่องข้อความในส่วนหัวกระดาษหรือท้ายกระดาษของฟอร์มหรือรายงาน แล้วใช้นิพจน์เหมือนกับที่แสดงในตารางต่อไปนี้

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

นิพจน์ ผลลัพธ์
=[Page] 1
="Page " & [Page] หน้า 1
="Page " & [Page] & " of " & [Pages] หน้า 1 จาก 3
=[Page] & " of " & [Pages] & " Pages" 1 จาก 3 หน้า
=[Page] & "/" & [Pages] & " Pages" 1/3 หน้า
=[Country/region] & " - " & [Page] สหราชอาณาจักร - 1
=Format([Page], "000") 001
="Printed on: " & Date() พิมพ์เมื่อ: 31/12/17

กลับสู่ด้านบน

การดำเนินการคำนวณ

คุณสามารถใช้นิพจน์เพื่อบวก ลบ คูณ และหารค่าในเขตข้อมูลหรือตัวควบคุมอย่างน้อยสองตัวได้ คุณยังสามารถใช้นิพจน์เพื่อดำเนินการทางคณิตศาสตร์กับวันที่ ตัวอย่างเช่น สมมติว่าคุณมีเขตข้อมูลตารางวันที่/เวลาที่ชื่อว่า RequiredDate ในเขตข้อมูล หรือในตัวควบคุมที่ผูกกับเขตข้อมูล นิพจน์ =[RequiredDate] - 2 จะส่งกลับค่าวันที่/เวลาเท่ากับสองวันก่อนค่าปัจจุบันในเขตข้อมูล RequiredDate

นิพจน์ ผลลัพธ์
=[Subtotal]+[Freight] ผลรวมของค่าในเขตข้อมูลหรือตัวควบคุมผลรวมย่อยและค่าขนส่งสินค้า
=[RequiredDate]-[ShippedDate] ช่วงระหว่างค่าวันที่ของเขตข้อมูลหรือตัวควบคุม RequiredDate และ ShippedDate
=[Price]*1.06 ผลคูณของค่าของเขตข้อมูลหรือตัวควบคุมราคา และ 1.06 (เพิ่ม 6 เปอร์เซ็นต์ให้กับค่าราคา)
=[Quantity]*[Price] ผลคูณของค่าของเขตข้อมูลหรือตัวควบคุม ปริมาณ และ ราคา
=[EmployeeTotal]/[CountryRegionTotal] ผลหารของค่าของเขตข้อมูลหรือตัวควบคุม EmployeeTotal และ CountryRegionTotal

หมายเหตุ

เมื่อคุณใช้ตัวดําเนินการทางคณิตศาสตร์ (+, , -*, หรือ /) ในนิพจน์และตัวควบคุมตัวใดตัวหนึ่งเป็น null ผลลัพธ์ของนิพจน์ทั้งหมดจะเป็น null ซึ่งเรียกว่าการเผยแพร่ค่า Null ถ้าตัวควบคุมอาจมีค่า Null คุณสามารถหลีกเลี่ยงการเผยแพร่ค่า Null ได้โดยใช้ฟังก์ชัน Nz เพื่อแปลงค่า Null เป็นศูนย์ ตัวอย่างเช่น ใช้=Nz([Subtotal])+Nz([Freight])

กลับสู่ด้านบน

ค่าในตัวควบคุมอื่น

บางครั้ง คุณต้องใช้ค่าที่มีอยู่ที่อื่น เช่น ในเขตข้อมูลหรือตัวควบคุมบนแบบฟอร์มหรือรายงานอื่น คุณสามารถใช้นิพจน์เพื่อส่งกลับค่าจากเขตข้อมูลหรือตัวควบคุมอื่น

ตารางต่อไปนี้แสดงรายการตัวอย่างของนิพจน์ที่คุณสามารถใช้ในตัวควบคุมที่ผ่านการคำนวณบนแบบฟอร์ม

นิพจน์ ผลลัพธ์
=Forms![Orders]![OrderID] ค่าของตัวควบคุม OrderID บนแบบฟอร์มการสั่งซื้อ
=Forms![Orders]![Orders Subform].Form![OrderSubtotal] ค่าของตัวควบคุม OrderSubtotal บนแบบฟอร์มย่อยที่ชื่อ ผลรวมย่อยการสั่งซื้อ บนแบบฟอร์มการสั่งซื้อ
=Forms![Orders]![Orders Subform]![ProductID].Column(2) ค่าของคอลัมน์ที่สามใน ProductID กล่องรายการแบบหลายคอลัมน์บนแบบฟอร์มย่อยที่ชื่อ แบบฟอร์มย่อยการสั่งซื้อ บนแบบฟอร์ม การสั่งซื้อ (โปรดสังเกตว่า 0 หมายถึงคอลัมน์แรก 1 หมายถึงสองคอลัมน์ที่สอง และต่อๆ ไป)
=Forms![Orders]![Orders Subform]![Price] * 1.06 ผลคูณของค่าของตัวควบคุม ราคา บนแบบฟอร์มย่อยที่ชื่อ แบบฟอร์มย่อยการสั่งซื้อ บนแบบฟอร์ม การสั่งซื้อ และ 1.06 (เพิ่ม 6 เปอร์เซ็นต์ 6 ให้กับค่าของตัวควบคุม ราคา)
=Parent![OrderID] ค่าของตัวควบคุม OrderID บนหน้าหลักหรือแบบฟอร์มแม่ของแบบฟอร์มย่อยปัจจุบัน

นิพจน์ในตารางต่อไปนี้แสดงวิธีใช้ตัวควบคุมที่ผ่านการคำนวณบนรายงาน นิพจน์อ้างอิง คุณสมบัติรายงาน

นิพจน์ ผลลัพธ์
=Report![Invoice]![OrderID] ค่าของตัวควบคุมที่เรียกว่า "OrderID" ในรายงานที่เรียกว่า "ใบแจ้งหนี้"
=Report![Summary]![Summary Subreport]![SalesTotal] ค่าของตัวควบคุม SalesTotal บนรายงานย่อยที่ชื่อ รายงานย่อยสรุป บนรายงาน สรุป
=Parent![OrderID] ค่าของตัวควบคุม OrderID บนหน้าหลักหรือรายงานแม่ของรายงานย่อยปัจจุบัน

กลับสู่ด้านบน

นับ รวม และหาค่าเฉลี่ย

คุณสามารถใช้ชนิดของฟังก์ชันที่เรียกว่าฟังก์ชันการรวมเพื่อคำนวณค่าของเขตข้อมูลหรือตัวควบคุมอย่างน้อยหนึ่งตัว ตัวอย่างเช่น คุณสามารถคำนวณกลุ่มผลรวมสำหรับส่วนท้ายของกลุ่มในรายงาน หรือผลรวมย่อยคำสั่งซื้อสำหรับรายการบนแบบฟอร์ม นอกจากนี้ คุณยังสามารถนับจำนวนรายการในอย่างน้อยหนึ่งเขตข้อมูลหรือคำนวณค่าเฉลี่ย

นิพจน์ในตารางต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน เช่น Avg, Count และ Sum

นิพจน์ คำอธิบาย
=Avg([Freight]) ใช้ฟังก์ชัน Avg เพื่อแสดงค่าเฉลี่ยของค่าของเขตข้อมูลตารางหรือตัวควบคุมที่ชื่อ "ค่าขนส่งสินค้า"
=Count([OrderID]) ใช้ฟังก์ชัน Count เพื่อแสดงจำนวนระเบียนในตัวควบคุม OrderID
=Sum([Sales]) ใช้ฟังก์ชัน Sum เพื่อแสดงผลรวมของค่าของตัวควบคุม ยอดขาย
=Sum([Quantity]*[Price]) ใช้ฟังก์ชัน Sum เพื่อแสดงผลรวมของผลคูณของค่าของตัวควบคุม ปริมาณ และ ราคา
=[Sales]/Sum([Sales])*100 แสดงเปอร์เซ็นต์ของยอดขายโดยการหารค่าของ Sales ตัวควบคุมด้วยผลรวมของค่าทั้งหมดใน Sales ตัวควบคุม ถ้าคุณตั้งค่า Format คุณสมบัติของตัวควบคุมเป็น Percentไม่ต้องรวม *100 ในนิพจน์

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

กลับสู่ด้านบน

ฟังก์ชันการรวมของ SQL

คุณสามารถใช้ชนิดฟังก์ชันที่เรียกว่าฟังก์ชันการรวม SQL หรือโดเมนเมื่อคุณต้องการรวมหรือนับค่าตามที่เลือก "โดเมน" มีอย่างน้อยหนึ่งเขตข้อมูลในตารางอย่างน้อยหนึ่งตาราง หรืออย่างน้อยหนึ่งตัวควบคุมบนแบบฟอร์มหรือรายงานอย่างน้อยหนึ่งรายการ ตัวอย่างเช่น คุณสามารถจับคู่ค่าในเขตข้อมูลตารางที่มีค่าในตัวควบคุมบนแบบฟอร์ม

นิพจน์ คำอธิบาย
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]")) ใช้ฟังก์ชัน DLookup เพื่อส่งกลับค่าของเขตข้อมูล ContactName ในตาราง ผู้จำหน่าย ที่ค่าของเขตข้อมูล SupplierID ในตารางตรงกับค่าของตัวควบคุม SupplierID บนแบบฟอร์ม ผู้จำหน่าย
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID]) ใช้ฟังก์ชัน DLookup เพื่อส่งกลับค่าของเขตข้อมูล ContactName ในตาราง ผู้จำหน่าย ที่ค่าของเขตข้อมูล SupplierID ในตารางตรงกับค่าของตัวควบคุม SupplierID บนแบบฟอร์ม ผู้จำหน่ายใหม่
=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'") ใช้ฟังก์ชัน DSum เพื่อส่งกลับผลรวมของค่าในเขตข้อมูล OrderAmount ในตาราง การสั่งซื้อ ที่ CustomerID เป็น RATTC
=DCount("[Retired]","[Assets]","[Retired]=Yes") ใช้ฟังก์ชัน DCount เพื่อส่งกลับจำนวนของค่า ใช่ ในเขตข้อมูล เกษียณ (เขตข้อมูล ใช่/ไม่ใช่) ในตาราง ทรัพย์สิน

กลับสู่ด้านบน

การดำเนินการวันที่

การติดตามวันที่และเวลาเป็นกิจกรรมฐานข้อมูลพื้นฐาน ตัวอย่างเช่น คุณสามารถคำนวณจำนวนวันที่ผ่านไปตั้งแต่วันที่ในใบแจ้งหนี้เพื่อคำนวณระยะเวลาบัญชีรายรับของคุณ คุณสามารถจัดรูปแบบวันที่และเวลาได้หลายวิธี ตามที่แสดงในตารางต่อไปนี้

นิพจน์ คำอธิบาย
=Date() ใช้ฟังก์ชัน Date เพื่อแสดงวันที่ปัจจุบันในรูปแบบ ของ mm-dd-yyโดยที่ mm คือเดือน (1 ถึง 12) dd คือวัน (1 ถึง 31) และ yy เป็นตัวเลขสองหลักสุดท้ายของปี (1980 ถึง 2099)
=Format(Now(), "ww") ใช้ฟังก์ชัน Format เพื่อแสดงจํานวนสัปดาห์ในปีสําหรับวันที่ปัจจุบัน ซึ่งแสดงสัปดาห์ที่ ww 1 ถึง 53
=DatePart("yyyy", [OrderDate]) ใช้ฟังก์ชัน DatePart เพื่อแสดงเลขสี่หลักของปีของค่าตัวควบคุม OrderDate
=DateAdd("y", -10, [PromisedDate]) ใช้ฟังก์ชัน DateAdd เพื่อแสดง 10 วันก่อนหน้าค่าของตัวควบคุม PromisedDate
=DateDiff("d", [OrderDate], [ShippedDate]) ใช้ฟังก์ชัน DateDiff เพื่อแสดงความแตกต่างของจำนวนวันระหว่างค่าของตัวควบคุม OrderDate และ ShippedDate
=[InvoiceDate] + 30 ใช้การดำเนินการคำนวณกับวันที่เพื่อคำนวณวันที่ 30 วันหลังจากวันที่ในเขตข้อมูลหรือตัวควบคุม InvoiceDate

กลับสู่ด้านบน

เงื่อนไขเพียงสองค่า

ตัวอย่างนิพจน์ในตารางต่อไปนี้ใช้ฟังก์ชัน IIf เพื่อส่งกลับค่าที่เป็นไปได้หนึ่งจากสองค่า คุณส่งสามอาร์กิวเมนต์ไปยังฟังก์ชัน IIf: อาร์กิวเมนต์แรกคือนิพจน์ที่ต้องส่งกลับ True หรือ False ค่า อาร์กิวเมนต์ที่สองคือค่าที่จะส่งกลับ ถ้านิพจน์เป็นจริง และอาร์กิวเมนต์สามเป็นค่าที่จะส่งกลับ ถ้านิพจน์เป็นเท็จ

นิพจน์ คำอธิบาย
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") ใช้ฟังก์ชัน IIf (Immediate If) เพื่อแสดงข้อความ "Order Confirmed" ถ้าค่าของตัวควบคุม ยืนยัน แล้ว แสดง Yesข้อความ "Order Not Confirmed."
=IIf(IsNull([Country/region]), " ", [Country]) ใช้ฟังก์ชัน IIf และ IsNull เพื่อแสดงสตริงเปล่า ถ้าค่าของตัวควบคุม ประเทศ/ภูมิภาค เป็น null มิฉะนั้น จะแสดงค่าของตัวควบคุม ประเทศ/ภูมิภาค
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) ใช้ฟังก์ชัน IIf และ IsNull เพื่อแสดงค่าของตัวควบคุม เมือง และ PostalCode ถ้าค่าในตัวควบคุม ภูมิภาค เป็น null มิฉะนั้น จะแสดงค่าของเขตข้อมูลหรือตัวควบคุม เมือง ภูมิภาค และ PostalCode
=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) ใช้ฟังก์ชัน IIf และ IsNull เพื่อแสดงข้อความ "ตรวจสอบวันที่หายไป" ถ้าผลลัพธ์ของการลบ ShippedDate จาก RequiredDate เป็น null มิฉะนั้น จะแสดงช่วงระหว่างค่าวันที่ของตัวควบคุม RequiredDate และ ShippedDate

กลับสู่ด้านบน

คิวรีและตัวกรอง

ส่วนนี้จะมีตัวอย่างของนิพจน์ที่คุณสามารถใช้เพื่อสร้างเขตข้อมูลที่ผ่านการคำนวณในคิวรี หรือเพื่อใส่เกณฑ์ลงในคิวรี เขตข้อมูลที่ผ่านการคำนวณคือคอลัมน์ในคิวรีที่เป็นผลลัพธ์จากนิพจน์ ตัวอย่างเช่น คุณสามารถคำนวณค่า รวมค่าข้อความ เช่น ชื่อและนามสกุล หรือจัดรูปแบบเป็นส่วนของวันที่

คุณใช้เกณฑ์ในคิวรีเพื่อจำกัดระเบียนที่คุณทำงาน ตัวอย่างเช่น คุณสามารถใช้ตัว Between ดําเนินการเพื่อใส่วันที่เริ่มต้นและสิ้นสุด และจํากัดผลลัพธ์ของคิวรีของคุณไปยังคําสั่งซื้อที่จัดส่งระหว่างวันที่เหล่านั้น

ส่วนต่อไปนี้มีตัวอย่างของนิพจน์สําหรับใช้ในคิวรี

การดําเนินการกับข้อความในคิวรี

นิพจน์ในตารางต่อไปนี้ใช้ตัว & ดําเนินการ และ + เพื่อรวมสตริงข้อความ ใช้ฟังก์ชันที่มีอยู่แล้วภายในเพื่อดําเนินการกับสตริงข้อความ หรือดําเนินการกับข้อความเพื่อสร้างเขตข้อมูลจากการคํานวณ

นิพจน์ คำอธิบาย
FullName: [FirstName] & " " & [LastName] สร้างเขตข้อมูลที่เรียกว่า FullName ที่แสดงค่าในเขตข้อมูล FirstName และ LastName ซึ่งคั่นด้วยช่องว่าง
Address2: [City] & " " & [Region] & " " & [PostalCode] สร้างเขตข้อมูลที่เรียกว่า ที่อยู่2 ที่แสดงค่าในเขตข้อมูล เมือง ภูมิภาค และ PostalCode ซึ่งคั่นด้วยช่องว่าง
ProductInitial: Left([ProductName], 1) สร้างเขตข้อมูลที่เรียกว่า ProductInitial แล้วใช้ฟังก์ชัน Left เพื่อแสดง ในเขตข้อมูล ProductInitial อักขระตัวแรกของค่าในเขตข้อมูล ProductName
TypeCode: Right([AssetCode], 2) สร้างเขตข้อมูลที่เรียกว่า รหัสประเภท แล้วใช้ฟังก์ชัน Right เพื่อแสดงอักขระสองตัวสุดท้ายของค่าในเขตข้อมูล AssetCode
AreaCode: Mid([Phone],2,3) สร้างเขตข้อมูลที่เรียกว่า รหัสพื้นที่ แล้วใช้ฟังก์ชัน Mid เพื่อแสดงอักขระสามตัวที่เริ่มต้นด้วยอักขระตัวที่สองของค่าในเขตข้อมูล โทรศัพท์
ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100 ตั้งชื่อเขตข้อมูลจากการคำนวณ ExtendedPrice แล้วใช้ฟังก์ชัน CCur เพื่อคำนวณผลรวมรายการที่มีส่วนลดที่นำไปใช้

กลับสู่ด้านบน

การดําเนินการทางคณิตศาสตร์ในคิวรี

คุณสามารถใช้นิพจน์เพื่อบวก ลบ คูณ และหารค่าในเขตข้อมูลหรือตัวควบคุมอย่างน้อยสองตัวได้ คุณยังสามารถดำเนินการทางคณิตศาสตร์กับวันที่ ตัวอย่างเช่น สมมติว่าคุณมีเขตข้อมูลวันที่/เวลา ที่เรียกว่า RequiredDate นิพจน์ =[RequiredDate] - 2 จะส่งกลับค่า วันที่/เวลา เท่ากับสองวันก่อนค่าในเขตข้อมูล RequiredDate

นิพจน์ คำอธิบาย
PrimeFreight: [Freight] * 1.1 สร้างเขตข้อมูลที่เรียกว่า ค่าขนส่งสินค้าหลัก แล้วแสดงค่าขนส่งบวกด้วย 10 เปอร์เซ็นต์ในเขตข้อมูล
OrderAmount: [Quantity] * [UnitPrice] สร้างเขตข้อมูลที่เรียกว่า OrderAmount แล้วแสดงผลคูณของค่าในเขตข้อมูล ปริมาณ และ UnitPrice
LeadTime: [RequiredDate] - [ShippedDate] สร้างเขตข้อมูลที่เรียกว่า LeadTime แล้วแสดงความแตกต่างระหว่างค่าในเขตข้อมูล RequiredDate และ ShippedDate
TotalStock: [UnitsInStock]+[UnitsOnOrder] สร้างเขตข้อมูลที่เรียกว่า ยอดรวมสินค้า แล้วแสดงผลรวมของค่าในเขตข้อมูล สินค้าคงคลัง และ สินค้าที่ถูกสั่งซื้อ
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 สร้างเขตข้อมูลที่เรียกว่า FreightPercentageแล้วแสดงเปอร์เซ็นต์ของค่าขนส่งสินค้าในแต่ละผลรวมย่อย นิพจน์นี้ใช้ Sum ฟังก์ชันเพื่อหาผลรวมของค่าใน Freight เขตข้อมูล แล้วหารผลรวมเหล่านั้นด้วยผลรวมของค่าใน Subtotal เขตข้อมูล เมื่อต้องการใช้นิพจน์นี้ ให้แปลงคิวรีแบบใช้เลือกข้อมูลของคุณเป็นคิวรีผลรวม คุณจําเป็นต้องใช้แถว ผลรวม ในตารางออกแบบและตั้งค่าเซลล์ ผลรวม สําหรับเขตข้อมูล Expressionนี้เป็น สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างคิวรีผลรวม ให้ดูที่ รวมข้อมูลโดยใช้คิวรี ถ้าคุณตั้งค่าFormatคุณสมบัติของเขตข้อมูลเป็น Percentไม่ต้องรวม*100

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

กลับสู่ด้านบน

การดําเนินการวันที่ในคิวรี

ฐานข้อมูลเกือบทั้งหมดจะจัดเก็บและติดตามวันที่และเวลา คุณทำงานกับวันที่และเวลาใน Access ด้วยการตั้งค่าเขตข้อมูลวันที่และเวลาในตารางของคุณเป็นชนิดข้อมูล วันที่/เวลา Access สามารถดำเนินการคำนวณบนวันที่ ตัวอย่างเช่น คุณสามารถคำนวณจำนวนวันที่ผ่านไปตั้งแต่วันที่ในใบแจ้งหนี้เพื่อคำนวณระยะเวลาบัญชีรายรับของคุณ

นิพจน์ คำอธิบาย
LagTime: DateDiff("d", [OrderDate], [ShippedDate]) สร้างเขตข้อมูลที่เรียกว่า LagTime แล้วใช้ฟังก์ชัน DateDiff เพื่อแสดงจำนวนวันระหว่างวันที่สั่งซื้อกับวันที่จัดส่ง
YearHired: DatePart("yyyy",[HireDate]) สร้างเขตข้อมูลที่เรียกว่า ปีที่ว่าจ้าง แล้วใช้ฟังก์ชัน DatePart เพื่อแสดงปีที่จ้างพนักงานแต่ละคน
MinusThirty: Date( )- 30 สร้างเขตข้อมูลที่เรียกว่า ลบสามสิบ แล้วใช้ฟังก์ชัน Date เพื่อแสดง 30 วันก่อนหน้าวันที่ปัจจุบัน

กลับสู่ด้านบน

ฟังก์ชันการรวม SQL ในคิวรี

นิพจน์ในตารางต่อไปนี้ใช้ฟังก์ชัน SQL ที่รวมหรือสรุปข้อมูล คุณมักจะเห็นฟังก์ชันต่างๆ เช่น Sum, Countและ Avg เรียกว่าฟังก์ชันการรวม

นอกจากฟังก์ชันการรวมแล้ว Access ยังมีฟังก์ชันการรวมโดเมนที่ให้คุณรวมหรือนับค่าตามที่เลือกได้ ตัวอย่างเช่น คุณสามารถนับเฉพาะค่าภายในช่วงหรือค้นหาค่าจากตารางอื่น ฟังก์ชันการรวมโดเมนประกอบด้วย DSum, DCount และ DAvg

เมื่อต้องการคํานวณผลรวม คุณมักจะต้องสร้างคิวรีผลรวม ตัวอย่างเช่น เมื่อต้องการสรุปตามกลุ่ม ให้ใช้คิวรีผลรวม เมื่อต้องการเปิดใช้งานคิวรีผลรวมจากตารางออกแบบคิวรี ให้เลือก ผลรวม บนเมนู มุมมอง

นิพจน์ คำอธิบาย
RowCount: Count(*) สร้างเขตข้อมูลที่เรียกว่า นับแถว แล้วใช้ฟังก์ชัน Count เพื่อนับจำนวนระเบียนในคิวรี รวมถึง ระเบียนที่มีเขตข้อมูล null (ว่างเปล่า)
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 สร้างเขตข้อมูลที่เรียกว่า FreightPercentageแล้วคํานวณเปอร์เซ็นต์ของค่าขนส่งสินค้าในแต่ละผลรวมย่อยด้วยการหารผลรวมของค่าใน Freight เขตข้อมูลด้วยผลรวมของค่าใน Subtotal เขตข้อมูล ตัวอย่างนี้ใช้ Sum ฟังก์ชัน คุณต้องใช้นิพจน์นี้กับคิวรีผลรวม ถ้าคุณตั้งค่าFormatคุณสมบัติของเขตข้อมูลเป็น Percentไม่ต้องรวม*100 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างคิวรีผลรวม ให้ดูที่ รวมข้อมูลโดยใช้คิวรี
AverageFreight: DAvg("[Freight]", "[Orders]") สร้างเขตข้อมูลที่เรียกว่า ค่าขนส่งสินค้าโดยเฉลี่ย แล้วใช้ฟังก์ชัน DAvg เพื่อคำนวณค่าขนส่งโดยเฉลี่ยของการสั่งซื้อทั้งหมดที่รวมอยู่ในคิวรีผลรวม

กลับสู่ด้านบน

เขตข้อมูลที่มีข้อมูลขาดหายไป

นิพจน์ที่แสดงที่นี่ทำงานกับเขตข้อมูลที่มีข้อมูลบางส่วนหายไป เช่น เขตข้อมูลที่มีค่า null (ไม่ทราบหรือไม่สามารถระบุ) คุณจะพบค่า Null บ่อยครั้ง เช่น ราคาที่ไม่ทราบของผลิตภัณฑ์ใหม่ หรือค่าที่เพื่อนร่วมงานลืมเพิ่มในการสั่งซื้อ ความสามารถในการค้นหาและประมวลผลค่า null อาจเป็นส่วนสำคัญของการดำเนินการฐานข้อมูล และนิพจน์ในตารางต่อไปนี้จะแสดงวิธีทั่วไปในการจัดการกับค่า null

นิพจน์ คำอธิบาย
CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion]) สร้างเขตข้อมูลที่เรียกว่า ภูมิภาคประเทศปัจจุบัน แล้วใช้ฟังก์ชัน IIf และ IsNull เพื่อแสดงสตริงว่างในเขตข้อมูล เมื่อเขตข้อมูล ภูมิภาคประเทศ มีค่า null มิฉะนั้น จะแสดงเนื้อหาของเขตข้อมูล ภูมิภาคประเทศ
LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) สร้างเขตข้อมูลที่เรียกว่า เวลาเตรียมการ แล้วใช้ฟังก์ชัน IIf และ IsNull เพื่อแสดงข้อความ "ตรวจสอบวันที่หายไป" ถ้าค่าในเขตข้อมูล RequiredDate หรือเขตข้อมูล ShippedDate เป็น null มิฉะนั้น จะแสดงความแตกต่างของวันที่
SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales]) สร้างเขตข้อมูลที่เรียกว่า SixMonthSales แล้วแสดงผลรวมของค่าในเขตข้อมูล ยอดขายไตรมาสที่ 1 และ ยอดขายไตรมาสที่ 2 โดยใช้ฟังก์ชัน Nz เพื่อแปลงค่า null ให้เป็นศูนย์

กลับสู่ด้านบน

เขตข้อมูลจากการคำนวณที่มีคิวรีย่อย

คุณสามารถใช้คิวรีซ้อนกัน หรือที่เรียกว่าคิวรีย่อย เพื่อสร้างเขตข้อมูลที่ผ่านการคำนวณ นิพจน์ในตารางต่อไปนี้เป็นตัวอย่างหนึ่งของเขตข้อมูลที่ผ่านการคำนวณที่เป็นผลลัพธ์จากคิวรีย่อย

นิพจน์ คำอธิบาย
Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID]) สร้างเขตข้อมูลที่เรียกว่า ประเภท แล้วแสดง CategoryName ถ้า CategoryID จากตาราง ประเภท เหมือนกับ CategoryID จากตาราง ผลิตภัณฑ์

กลับสู่ด้านบน

ตรงกับค่าข้อความ

ตัวอย่างนิพจน์ในตารางนี้จะแสดงเกณฑ์ที่ตรงกับค่าข้อความทั้งหมดหรือบางส่วน

เขตข้อมูล นิพจน์ คำอธิบาย
ShipCity "London" แสดงการสั่งซื้อที่จัดส่งไปยังลอนดอน
ShipCity "London" Or "Hedge End" ใช้ตัว Or ดําเนินการเพื่อแสดงการสั่งซื้อที่จัดส่งไปยังลอนดอนหรือเฮดจ์เอนด์
ShipCountryRegion In("Canada", "UK") Inใช้ตัวดําเนินการเพื่อแสดงการสั่งซื้อที่จัดส่งไปยังแคนาดาหรือสหราชอาณาจักร
ShipCountryRegion Not "USA" Notใช้ตัวดําเนินการเพื่อแสดงการสั่งซื้อที่จัดส่งไปยังประเทศ/ภูมิภาคอื่นที่ไม่ใช่สหรัฐอเมริกา
ProductName Not Like "C*" ใช้ตัว Not ดําเนินการและ * อักขระตัวแทนเพื่อแสดงผลิตภัณฑ์ที่มีชื่อที่ไม่ได้ขึ้นต้นด้วย C
CompanyName >="N" แสดงการสั่งซื้อที่จัดส่งไปยังบริษัทที่มีชื่อที่ขึ้นต้นด้วยตัวอักษรNผ่านZ
รหัสผลิตภัณฑ์ Right([ProductCode], 2)="99" ใช้ฟังก์ชัน Right เพื่อแสดงการสั่งซื้อที่มีค่า ProductCode ที่ลงท้ายด้วย99
ShipName Like "S*" แสดงการสั่งซื้อที่จัดส่งไปยังลูกค้าที่มีชื่อที่ขึ้นต้นด้วยตัวอักษรS

กลับสู่ด้านบน

ตรงกับเกณฑ์วันที่

นิพจน์ในตารางต่อไปนี้แสดงการใช้วันที่และฟังก์ชันที่เกี่ยวข้องในนิพจน์เกณฑ์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใส่และการใช้ค่าวันที่ ให้ดูบทความ จัดรูปแบบเขตข้อมูลวันที่และเวลา

เขตข้อมูล นิพจน์ คำอธิบาย
ShippedDate #2/2/2017# แสดงการสั่งซื้อที่จัดส่งในวันที่ 2 กุมภาพันธ์ 2017
ShippedDate Date() แสดงการสั่งซื้อที่จัดส่งในวันนี้
RequiredDate Between Date( ) And DateAdd("m", 3, Date( )) ใช้ตัว Between...And ดําเนินการและฟังก์ชัน DateAdd และ Date เพื่อแสดงการสั่งซื้อที่จําเป็นระหว่างวันที่ของวันนี้และสามเดือนนับจากวันที่ของวันนี้
OrderDate < Date( ) - 30 ใช้ฟังก์ชัน Date เพื่อแสดงการสั่งซื้อที่มีระยะเวลานานกว่า 30 วัน
OrderDate Year([OrderDate])=2017 ใช้ฟังก์ชัน Year เพื่อแสดงการสั่งซื้อที่มีวันที่สั่งซื้อในปี 2017
OrderDate DatePart("q", [OrderDate])=4 ใช้ฟังก์ชัน DatePart เพื่อแสดงการสั่งซื้อสำหรับไตรมาสที่สี่ของปฏิทิน
OrderDate DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1 ใช้ฟังก์ชัน DateSerial, Year และ Month เพื่อแสดงการสั่งซื้อในวันสุดท้ายของแต่ละเดือน
OrderDate Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now()) ใช้ฟังก์ชัน Year และ Month และตัวดำเนินการ And เพื่อแสดงการสั่งซื้อในปีและเดือนปัจจุบัน
ShippedDate Between #1/5/2017# And #1/10/2017# Between...Andใช้ตัวดําเนินการเพื่อแสดงการสั่งซื้อที่จัดส่งไม่เกิน 5 ม.ค. 2017 และไม่เกิน 10 ม.ค. 2017
RequiredDate Between Date( ) And DateAdd("M", 3, Date( )) ใช้ตัว Between...And ดําเนินการเพื่อแสดงการสั่งซื้อที่จําเป็นระหว่างวันที่ของวันนี้และสามเดือนนับจากวันนี้
วันเกิด Month([BirthDate])=Month(Date()) ใช้ฟังก์ชัน Month และ Date เพื่อแสดงพนักงานที่มีวันเกิดในเดือนนี้

กลับสู่ด้านบน

ค้นหาข้อมูลที่ขาดหายไป

นิพจน์ในตารางต่อไปนี้ทำงานกับเขตข้อมูลที่มีข้อมูลบางส่วนหายไป — ซึ่งอาจมีค่า null หรือสตริงที่มีความยาวเป็นศูนย์ ค่า Null แสดงถึงการขาดข้อมูล ซึ่งไม่ได้หมายถึงค่าศูนย์หรือค่าใดๆ เลย Access สนับสนุนแนวคิดเกี่ยวกับข้อมูลที่หายไป เนื่องจากเป็นแนวคิดที่สำคัญในการรวมฐานข้อมูล ในชีวิตจริง ข้อมูลมักหายไปบ่อยครั้ง แม้ว่าจะเป็นเพียงชั่วคราว (ตัวอย่างเช่น ยังไม่ได้กำหนดราคาของผลิตภัณฑ์ใหม่) ดังนั้น ฐานข้อมูลที่จำลองสิ่งต่างๆ ในชีวิตจริง เช่น ธุรกิจ จะต้องสามารถบันทึกข้อมูลเป็น หายไป ได้ คุณสามารถใช้ฟังก์ชัน IsNull ในการกำหนด ถ้าเขตข้อมูลหรือตัวควบคุมมีค่า null และคุณอาจใช้ฟังก์ชัน Nz เพื่อแปลงค่า null เป็นศูนย์

เขตข้อมูล นิพจน์ คำอธิบาย
ShipRegion Is Null แสดงการสั่งซื้อของลูกค้าที่มีเขตข้อมูล ShipRegion เป็น null (หายไป)
ShipRegion Is Not Null แสดงการสั่งซื้อของลูกค้าที่มีเขตข้อมูล ShipRegion ที่มีค่า
โทรสาร "" แสดงการสั่งซื้อของลูกค้าที่ไม่มีเครื่องโทรสาร ระบุด้วยค่าสตริงที่มีความยาวเป็นศูนย์ในเขตข้อมูล แฟกซ์ แทนที่จะเป็นค่า null (หายไป)

กลับสู่ด้านบน

ตรงกับรูปแบบระเบียนที่มี Like

ตัว Like ดําเนินการมีความยืดหยุ่นมากเมื่อคุณพยายามจับคู่แถวที่เป็นไปตามรูปแบบ เนื่องจากคุณสามารถใช้ Like กับอักขระตัวแทนและกําหนดรูปแบบเพื่อให้ Access จับคู่ได้ ตัวอย่างเช่น * อักขระตัวแทน (เครื่องหมายดอกจัน) จะตรงกับลําดับของอักขระชนิดใดๆ และทําให้ง่ายต่อการค้นหาชื่อทั้งหมดที่ขึ้นต้นด้วยตัวอักษร ตัวอย่างเช่น คุณใช้นิพจน์Like "S*"เพื่อค้นหาชื่อทั้งหมดที่ขึ้นต้นด้วยตัวอักษร S สําหรับข้อมูลเพิ่มเติม ให้ดูบทความ ตัวดําเนินการ Like

เขตข้อมูล นิพจน์ คำอธิบาย
ShipName Like "S*" ค้นหาระเบียนทั้งหมดในเขตข้อมูล ShipName ที่ขึ้นต้นด้วยตัวอักษร S
ShipName Like "*Imports" ค้นหาระเบียนทั้งหมดในเขตข้อมูล ShipName ที่ลงท้ายด้วยคำว่า “นำเข้า"
ShipName Like "[A-D]*" ค้นหาระเบียนทั้งหมดในเขตข้อมูล ShipName ที่ขึ้นต้นด้วยตัวอักษร A, B, C หรือ D
ShipName Like "*ar*" ค้นหาระเบียนทั้งหมดในเขตข้อมูล ShipName ที่มีลำดับอักษร "ar"
ShipName Like "Maison Dewe?" ค้นหาระเบียนทั้งหมดในเขตข้อมูล ShipName ที่มี “Maison" ในส่วนแรกของค่าและสตริงห้าตัวอักษรที่มีตัวอักษรสี่ตัวแรกเป็น “Dewe" และไม่ทราบตัวอักษรตัวสุดท้าย
ShipName Not Like "A*" ค้นหาระเบียนทั้งหมดในเขตข้อมูล ShipName ที่ไม่ได้ขึ้นต้นด้วยตัวอักษร A

กลับสู่ด้านบน

ตรงกับแถวที่มีการรวม SQL

คุณสามารถใช้ฟังก์ชันการรวม SQL หรือโดเมนเมื่อคุณต้องการรวม นับ หาค่าเฉลี่ยตามที่เลือก ตัวอย่างเช่น คุณอาจต้องการนับเฉพาะค่าที่อยู่ในช่วงที่ระบุ หรือค่าที่ประเมินเป็น ใช่ ในบางครั้ง คุณอาจต้องค้นหาค่าจากตารางอื่นเพื่อให้คุณสามารถแสดงได้ ตัวอย่างนิพจน์ในตารางต่อไปนี้ใช้ฟังก์ชันการรวมโดเมนเพื่อทำการคำนวณชุดของค่า และใช้ผลลัพธ์เป็นเกณฑ์ของคิวรี

เขตข้อมูล นิพจน์ คำอธิบาย
ค่าขนส่งสินค้า > (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders")) ใช้ฟังก์ชัน DStDev และ DAvg เพื่อแสดงการสั่งซื้อทั้งหมดที่มีค่าขนส่งสูงกว่าค่าเฉลี่ยรวมกับค่าเบี่ยงเบนมาตรฐานของค่าขนส่ง
ปริมาณ > DAvg("[Quantity]", "[Order Details]") ใช้ฟังก์ชัน DAvg เพื่อแสดงผลิตภัณฑ์ที่มีจำนวนการสั่งซื้อสูงกว่าจำนวนการสั่งซื้อโดยเฉลี่ย

กลับสู่ด้านบน

ตรงกับเขตข้อมูลที่มีคิวรีย่อย

คุณใช้คิวรีย่อย หรือที่เรียกว่าคิวรีซ้อนกัน ในคำนวณค่าสำหรับการใช้เป็นเกณฑ์ ตัวอย่างนิพจน์ในตารางต่อไปนี้จะจับคู่แถวตามผลลัพธ์ที่ส่งกลับโดยคิวรีย่อย

เขตข้อมูล นิพจน์ แสดง
UnitPrice (SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup") ผลิตภัณฑ์ที่มีราคาเหมือนกับราคา น้ำเชื่อม Aniseed
UnitPrice >(SELECT AVG([UnitPrice]) FROM [Products]) ผลิตภัณฑ์ที่มีราคาต่อหน่วยสูงกว่าค่าเฉลี่ย
เงินเดือน > ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*")) เงินเดือนของพนักงานขายทุกคนที่มีเงินเดือนสูงกว่าพนักงานทุกคนที่มี “ผู้จัดการ" หรือ "รองประธาน" อยู่ในตำแหน่งงานของพวกเขา
ยอดรวมการสั่งซื้อ: [UnitPrice] * [ปริมาณ] > (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details]) การสั่งซื้อที่มีผลรวมสูงกว่าค่าการสั่งซื้อโดยเฉลี่ย

กลับสู่ด้านบน

คิวรีการอัปเดต

ใช้คิวรีแบบใช้อัปเดตข้อมูลเพื่อปรับเปลี่ยนข้อมูลในเขตข้อมูลอย่างน้อยหนึ่งเขตข้อมูลที่มีอยู่ในฐานข้อมูล ตัวอย่างเช่น คุณสามารถแทนที่ค่าหรือลบค่าทั้งหมด ตารางนี้แสดงวิธีการใช้นิพจน์ในคิวรีแบบใช้อัปเดตข้อมูล ใช้นิพจน์เหล่านี้ใน Update To แถวในตารางออกแบบคิวรีสําหรับเขตข้อมูลที่คุณต้องการอัปเดต

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างคิวรีอัปเดต โปรดดูบทความ สร้างคิวรีแบบใช้อัปเดตข้อมูล

เขตข้อมูล นิพจน์ ผลลัพธ์
ชื่อเรื่อง "Salesperson" เปลี่ยนค่าข้อความเป็น พนักงานขาย
วันเริ่มต้นโครงการ #8/10/17# เปลี่ยนค่าวันที่เป็น 10 ส.ค. 17
เกษียณ Yes เปลี่ยนค่า ไม่ใช่ ในเขตข้อมูล ใช่/ไม่ใช่ เป็น ใช่
"PN" & [หมายเลขชิ้นส่วน] "PN" & [PartNumber] เพิ่ม PN ไปยังจุดเริ่มต้นของหมายเลขชิ้นส่วนแต่ละหมายเลข
ยอดรวมรายการ [UnitPrice] * [Quantity] คำนวณผลคูณของ UnitPrice และ ปริมาณ
ค่าขนส่งสินค้า [Freight] * 1.5 เพิ่มค่าขนส่งสินค้าอีก 50 เปอร์เซ็นต์
ยอดขาย DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID]) เมื่อค่า ProductID ในตารางปัจจุบันตรงกับค่า ProductID ในตาราง รายละเอียดการสั่งซื้อ ให้อัปเดตยอดขายรวมตามผลคูณของ ปริมาณ และ UnitPrice
ShipPostalCode Right([ShipPostalCode], 5) ตัดอักขระด้านซ้ายสุด เหลือไว้เพียงอักขระทางขวาสุดห้าตัว
UnitPrice Nz([UnitPrice]) เปลี่ยนค่า null (ไม่สามารถระบุหรือไม่ทราบ) เป็นศูนย์ (0) ในเขตข้อมูล UnitPrice

กลับสู่ด้านบน

คำสั่ง SQL

Structured Query Language (SQL) คือภาษาคิวรีที่ Access ใช้ ทุกคิวรีที่คุณสร้างในมุมมองออกแบบคิวรียังสามารถแสดงได้โดยใช้ SQL เมื่อต้องการดูคําสั่ง SQL สําหรับคิวรีใดๆ ให้เลือก มุมมอง SQL บนเมนู มุมมอง ตารางต่อไปนี้แสดงตัวอย่างคําสั่ง SQL ที่ใช้นิพจน์

คำสั่ง SQL ที่ใช้นิพจน์ ผลลัพธ์
SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio"; แสดงค่าในเขตข้อมูล FirstName และ LastName สำหรับพนักงานที่มีนามสกุล Danseglio
SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID]; แสดงค่าในเขตข้อมูล ProductID และ ProductName ในตาราง ผลิตภัณฑ์ สำหรับระเบียนที่มีค่า CategoryID ตรงกับค่า CategoryID ที่ระบุในแบบฟอร์ม ผลิตภัณฑ์ใหม่
SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000; คำนวณราคาที่เพิ่มขึ้นโดยเฉลี่ยสำหรับการสั่งซื้อที่มีค่าในเขตข้อมูล ExtendedPrice มากกว่า 1000 และแสดงในเขตข้อมูลที่ชื่อ ราคาที่เพิ่มขึ้นโดยเฉลี่ย
SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10; ในเขตข้อมูลที่ชื่อ CountOfProductID จะแสดงจำนวนรวมของผลิตภัณฑ์ของประเภทที่มีผลิตภัณฑ์มากกว่า 10 รายการ

กลับสู่ด้านบน

นิพจน์ตาราง

วิธีทั่วไปสองวิธีในการใช้นิพจน์ในตารางคือการกำหนดค่าเริ่มต้นและการสร้างกฎการตรวจสอบ

ค่าเริ่มต้นของเขตข้อมูล

เมื่อคุณออกแบบฐานข้อมูล คุณอาจต้องการกำหนดค่าเริ่มต้นให้กับเขตข้อมูลหรือตัวควบคุม จากนั้น Access จะใส่ค่านั้นเมื่อระเบียนใหม่ที่มีเขตข้อมูลถูกสร้างขึ้น หรือเมื่อวัตถุที่มีตัวควบคุมถูกสร้างขึ้น นิพจน์ในตารางต่อไปนี้แสดงตัวอย่างค่าเริ่มต้นสําหรับเขตข้อมูลหรือตัวควบคุม ถ้าตัวควบคุมถูกผูกไว้กับเขตข้อมูลในตาราง และเขตข้อมูลมีค่าเริ่มต้น ค่าเริ่มต้นของตัวควบคุมจะมีความสําคัญ

เขตข้อมูล นิพจน์ ค่าเขตข้อมูลเริ่มต้น
ปริมาณ 1 1
ภูมิภาค "MT" MT
ภูมิภาค "New York, N.Y." นิวยอร์ก N.Y. (โปรดสังเกตว่าคุณต้องใส่ค่าในเครื่องหมายอัญประกาศ ถ้ามีเครื่องหมายวรรคตอน)
โทรสาร "" สตริงที่มีความยาวเป็นศูนย์ระบุว่า ตามค่าเริ่มต้น เขตข้อมูลนี้ควรจะว่างเปล่าแทนที่จะมีค่า null
วันที่สั่งซื้อ Date( ) วันที่ของวันนี้
วันครบกำหนด Date() + 60 60 วันนับจากวันนี้

กลับสู่ด้านบน

กฎการตรวจสอบความถูกต้องของเขตข้อมูล

คุณสามารถสร้างกฎการตรวจสอบสำหรับเขตข้อมูลหรือตัวควบคุมได้โดยใช้นิพจน์ Access จะบังคับใช้กฎ เมื่อข้อมูลถูกใส่ลงในเขตข้อมูลหรือตัวควบคุม เมื่อต้องการสร้างกฎการตรวจสอบ ให้ปรับเปลี่ยน ValidationRule คุณสมบัติของเขตข้อมูลหรือตัวควบคุม คุณควรพิจารณาการตั้งค่า ValidationText คุณสมบัติซึ่งมีข้อความที่ Access แสดงเมื่อมีการละเมิดกฎการตรวจสอบ ถ้าคุณไม่ได้ตั้งค่า ValidationText คุณสมบัติ Access จะแสดงข้อความแสดงข้อผิดพลาดเริ่มต้น

ตัวอย่างในตารางต่อไปนี้แสดงนิพจน์กฎการตรวจสอบสําหรับ ValidationRule คุณสมบัติและข้อความที่เกี่ยวข้องสําหรับ ValidationText คุณสมบัติ

คุณสมบัติ ValidationRule คุณสมบัติ ValidationText
<> 0 โปรดใส่ค่าที่ไม่ใช่ค่าศูนย์
0 Or > 100 ค่าต้องเป็น 0 หรือมากกว่า 100
Like "K???" ค่าต้องเป็นอักขระสี่ตัว ที่ขึ้นต้นด้วยตัวอักษร K
< #1/1/2017# ใส่วันที่ก่อนวันที่ 1/1/2017
>= #1/1/2017# And < #1/1/2008# วันที่ต้องอยู่ในช่วงปี 2017

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบข้อมูล ให้ดูบทความ สร้างกฎการตรวจสอบเพื่อตรวจสอบข้อมูลในเขตข้อมูล

กลับสู่ด้านบน

นิพจน์แมโคร

ในบางกรณี คุณอาจต้องการดำเนินการแอคชันหรือชุดแอคชันในแมโคร เมื่อเงื่อนไขบางอย่างเป็นจริงเท่านั้น ตัวอย่างเช่น สมมติว่าคุณต้องการให้แอคชันดำเนินการเมื่อค่าของกล่องข้อความตัวนับเท่ากับ 10 คุณใช้นิพจน์เพื่อกําหนดเงื่อนไขในบล็อก If ดังนี้

[Counter]=10

ValidationRuleเช่นเดียวกับคุณสมบัติ นิพจน์ในบล็อก If เป็นนิพจน์ตามเงื่อนไข โดยต้องแก้ไขเป็น True หรือFalse แอคชันจะเกิดขึ้นเมื่อเงื่อนไขเป็นจริงเท่านั้น

ใช้นิพจน์นี้เพื่อดำเนินการแอคชัน If
[City]="Paris" ปารีส คือค่า เมือง ในเขตข้อมูลบนแบบฟอร์มที่เรียกใช้แมโคร
DCount("[OrderID]", "Orders") > 35 มีรายการมากกว่า 35 รายการในเขตข้อมูล OrderID ของตารางการสั่งซื้อ
DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3 มีรายการมากกว่าสามรายการในตาราง รายละเอียดการสั่งซื้อ สำหรับเขตข้อมูล OrderID ของตารางที่ตรงกับเขตข้อมูล OrderID บนแบบฟอร์ม การสั่งซื้อ
[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017# ค่าของเขตข้อมูล ShippedDate บนแบบฟอร์มที่เรียกใช้แมโครอยู่ระหว่างวันที่ 2 ก.พ. 2017 และ 2 มี.ค. 2017
Forms![Products]![UnitsInStock] < 5 ค่าของเขตข้อมูล สินค้าคงคลัง บนแบบฟอร์ม ผลิตภัณฑ์ น้อยกว่า 5
IsNull([FirstName]) ค่า FirstName บนแบบฟอร์มที่เรียกใช้แมโครเป็น null (ไม่มีค่า) นิพจน์นี้จะเท่ากับ [FirstName] Is Null
[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100 ค่าในเขตข้อมูล ภูมิภาคประเทศ บนแบบฟอร์มที่เรียกใช้แมโครคือ สหราชอาณาจักร และค่าของเขตข้อมูล TotalOrds บนแบบฟอร์ม SalesTotal มีค่ามากกว่า 100
[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5 ค่าในเขตข้อมูล ภูมิภาคประเทศ บนแบบฟอร์มที่เรียกใช้แมโครคือ ฝรั่งเศส อิตาลี หรือสเปน และรหัสไปรษณีย์มีความยาวที่ไม่ใช่อักขระ 5 ตัว
MsgBox("Confirm changes?",1)=1 คุณคลิก ตกลง ในกล่องโต้ตอบกล่องที่ฟังก์ชัน MsgBox แสดง ถ้าคุณคลิก ยกเลิก ในกล่องโต้ตอบ Access จะละเว้นแอคชัน

กลับสู่ด้านบน

ดูเพิ่มเติม