คุณสามารถใช้ฟังก์ชัน DAvg เพื่อคํานวณค่าเฉลี่ยของชุดค่าในชุดระเบียนที่ระบุ ( โดเมน ) ใช้ฟังก์ชัน DAvg ในโมดูล Visual Basic for Applications (VBA) ใน แมโคร ในนิพจน์คิวรี หรือใน ตัวควบคุมที่มีการคำนวณ
ตัวอย่างเช่น คุณสามารถใช้ฟังก์ชัน DAvg ในแถวเกณฑ์ของคิวรีแบบใช้เลือกข้อมูลในค่าขนส่งสินค้าเพื่อจํากัดผลลัพธ์ไว้ที่ระเบียนที่ค่าขนส่งสูงกว่าค่าเฉลี่ย หรือคุณอาจใช้นิพจน์รวมถึงฟังก์ชัน DAvg ในตัวควบคุมจากการคํานวณและแสดงค่าเฉลี่ยของคําสั่งซื้อก่อนหน้าถัดจากค่าของลําดับใหม่
ไวยากรณ์
DAvg ( expr , domain [, criteria] )
ไวยากรณ์ของฟังก์ชัน DAvg มีอาร์กิวเมนต์ดังนี้
อาร์กิวเมนต์ |
คำอธิบาย |
expr |
จำเป็น นิพจน์ที่ระบุเขตข้อมูลที่มีข้อมูลตัวเลขที่คุณต้องการหาค่าเฉลี่ย ซึ่งอาจเป็น นิพจน์สตริง ที่ระบุเขตข้อมูลในตารางหรือคิวรี หรืออาจเป็นนิพจน์ที่ทําการคํานวณข้อมูลในเขตข้อมูลนั้น ใน expr คุณสามารถใส่ชื่อของเขตข้อมูลในตาราง ตัวควบคุมบนฟอร์ม ค่าคงที่ หรือฟังก์ชัน ถ้า expr มีฟังก์ชันอาจเป็นฟังก์ชันที่มีอยู่แล้วภายในหรือที่ผู้ใช้กําหนดเอง แต่ไม่ใช่ฟังก์ชันการรวมโดเมนอื่นหรือฟังก์ชันการรวม SQL |
โดเมน |
จำเป็น นิพจน์สตริงที่ระบุชุดของระเบียนที่ประกอบด้วยโดเมน ซึ่งอาจเป็นชื่อตารางหรือชื่อแบบสอบถามสําหรับแบบสอบถามที่ไม่จําเป็นต้องใช้พารามิเตอร์ |
เกณฑ์ |
ไม่จำเป็น นิพจน์สตริงที่ใช้เพื่อจํากัดช่วงข้อมูลที่ฟังก์ชัน DAvg ถูกดําเนินการ ตัวอย่างเช่น เกณฑ์ มักจะเทียบเท่ากับส่วนคําสั่ง WHERE ในนิพจน์ SQL โดยไม่มีคําว่า WHERE ถ้าไม่ระบุ เกณฑ์ ไว้ ฟังก์ชัน DAvg จะประเมิน expr เทียบกับทั้งโดเมน เขตข้อมูลใดๆ ที่รวมอยู่ใน criteria จะต้องเป็นเขตข้อมูลใน โดเมนด้วย มิฉะนั้น ฟังก์ชัน DAvg จะ ส่งกลับ Null |
ข้อสังเกต
ระเบียนที่มีค่า Null จะไม่รวมอยู่ในการคํานวณค่าเฉลี่ย
ไม่ว่าคุณจะใช้ฟังก์ชัน DAvg ในแมโครหรือมอดูล ในนิพจน์คิวรี หรือในตัวควบคุมจากการคํานวณ คุณต้องสร้างอาร์กิวเมนต์ criteria อย่างรอบคอบเพื่อให้แน่ใจว่าจะได้รับการประเมินอย่างถูกต้อง
คุณสามารถใช้ฟังก์ชัน DAvg เพื่อระบุเกณฑ์ในแถว เกณฑ์ ของคิวรีได้ ตัวอย่างเช่น สมมติว่าคุณต้องการดูรายการผลิตภัณฑ์ทั้งหมดที่สั่งซื้อในปริมาณที่สูงกว่าปริมาณการสั่งซื้อโดยเฉลี่ย คุณสามารถสร้างคิวรีบนตารางคําสั่งซื้อ รายละเอียดคําสั่งซื้อ และผลิตภัณฑ์ และรวมเขตข้อมูล ชื่อผลิตภัณฑ์ และเขตข้อมูล ปริมาณ ด้วยนิพจน์ต่อไปนี้ในแถว เกณฑ์ ใต้เขตข้อมูล ปริมาณ:
>DAvg("[Quantity]", "Orders")
คุณยังสามารถใช้ฟังก์ชัน DAvg ภายในนิพจน์เขตข้อมูลจากการคํานวณในคิวรี หรือในแถว อัปเดตเป็น ของ อัปเดตคิวรี
หมายเหตุ: คุณสามารถใช้ฟังก์ชัน DAvg หรือ Avg ในนิพจน์เขตข้อมูลจากการคํานวณใน คิวรีแบบใช้หาผลรวม ถ้าคุณใช้ฟังก์ชัน DAvg ค่าจะถูกเฉลี่ยก่อนที่จะจัดกลุ่มข้อมูล ถ้าคุณใช้ฟังก์ชัน Avg ข้อมูลจะถูกจัดกลุ่มก่อนที่ค่าในนิพจน์เขตข้อมูลจะถูกเฉลี่ย
ใช้ฟังก์ชัน DAvg ในตัวควบคุมจากการคํานวณเมื่อคุณต้องการระบุเกณฑ์เพื่อจํากัดช่วงของข้อมูลที่จะดําเนินการฟังก์ชัน DAvg ตัวอย่างเช่น เมื่อต้องการแสดงค่าขนส่งโดยเฉลี่ยสําหรับการจัดส่งที่ส่งไปยังแคลิฟอร์เนีย ให้ตั้งค่าคุณสมบัติ แหล่งตัวควบคุม ของกล่องข้อความเป็นนิพจน์ต่อไปนี้:
=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")
ถ้าคุณต้องการหาค่าเฉลี่ยระเบียนทั้งหมดในโดเมน ให้ใช้ฟังก์ชัน Avg
คุณสามารถใช้ฟังก์ชัน DAvg ในโมดูลหรือแมโคร หรือในตัวควบคุมจากการคํานวณบนฟอร์มถ้าเขตข้อมูลที่คุณต้องการแสดงไม่ได้อยู่ในแหล่งระเบียนที่ฟอร์มของคุณยึดตาม ตัวอย่างเช่น สมมติว่าคุณมีฟอร์มที่ยึดตามตารางใบสั่งซื้อ และคุณต้องการรวมเขตข้อมูล ปริมาณ จากตาราง รายละเอียดใบสั่งซื้อ เพื่อแสดงจํานวนเฉลี่ยของสินค้าที่สั่งซื้อโดยลูกค้ารายใดรายหนึ่ง คุณสามารถใช้ฟังก์ชัน DAvg เพื่อทําการคํานวณนี้และแสดงข้อมูลบนฟอร์มของคุณ
เคล็ดลับ
-
ถ้าคุณใช้ฟังก์ชัน DAvg ในตัวควบคุมจากการคํานวณ คุณอาจต้องการวางตัวควบคุมบนส่วนหัวหรือส่วนท้ายของฟอร์มเพื่อไม่ให้มีการคํานวณค่าของตัวควบคุมนี้ใหม่ทุกครั้งที่คุณย้ายไปยังระเบียนใหม่
-
ถ้าชนิดข้อมูลของเขตข้อมูลที่ expr ได้รับมาเป็นตัวเลข ฟังก์ชัน DAvg จะ ส่งกลับชนิดข้อมูล Double ถ้าคุณใช้ฟังก์ชัน DAvg ในตัวควบคุมจากการคํานวณ ให้รวมฟังก์ชันการแปลงชนิดข้อมูลในนิพจน์เพื่อปรับปรุงประสิทธิภาพการทํางาน
-
แม้ว่าคุณจะสามารถใช้ฟังก์ชัน DAvg เพื่อกําหนดค่าเฉลี่ยของค่าในเขตข้อมูลใน ตาราง Foreign Key การสร้างคิวรีที่มีเขตข้อมูลทั้งหมดที่คุณต้องการแล้วยึดตามฟอร์มหรือรายงานของคุณบนคิวรีนั้นอาจมีประสิทธิภาพมากขึ้น
หมายเหตุ: การเปลี่ยนแปลงที่ไม่ได้บันทึกไปยังระเบียนใน โดเมน จะไม่ถูกรวมไว้เมื่อคุณใช้ฟังก์ชันนี้ ถ้าคุณต้องการให้ฟังก์ชัน DAvg ยึดตามค่าที่เปลี่ยนแปลง ก่อนอื่นคุณต้องบันทึกการเปลี่ยนแปลงโดยการคลิก บันทึกระเบียน ภายใต้ ระเบียน บนแท็บ ข้อมูล การย้ายโฟกัสไปยังระเบียนอื่น หรือโดยใช้วิธี อัปเดต
ตัวอย่าง
หมายเหตุ: ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงสําหรับนักพัฒนา ในรายการดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา
ฟังก์ชันต่อไปนี้จะส่งกลับค่าขนส่งโดยเฉลี่ยสําหรับการสั่งซื้อที่จัดส่งในหรือหลังจากวันที่ที่กําหนด โดเมนเป็นตารางใบสั่งซื้อ อาร์กิวเมนต์ criteria จํากัดชุดผลลัพธ์ของระเบียนตามประเทศ/ภูมิภาคที่ระบุและวันที่จัดส่ง โปรดสังเกตว่าคําสําคัญ AND จะถูกรวมไว้ในสตริงเพื่อแยกหลายเขตข้อมูลในอาร์กิวเมนต์ criteria ระเบียนทั้งหมดที่รวมอยู่ในการคํานวณฟังก์ชัน DAvg จะมีทั้งสองเงื่อนไขเหล่านี้
Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _ ByVal dteShipDate As Date) As Double AvgFreightCost = DAvg("[Freight]", "Orders", _ "[ShipCountryRegion] = '" & strCountryRegion & _ "'AND [ShippedDate] >= #" & dteShipDate & "#") End Function
เมื่อต้องการเรียกใช้ฟังก์ชัน ให้ใช้บรรทัดโค้ดต่อไปนี้ในหน้าต่าง Immediate:
:AvgFreightCost "UK", #1/1/96#