ฟังก์ชัน DAvg

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

คุณสามารถใช้ฟังก์ชัน DAvg เพื่อคํานวณค่าเฉลี่ยของชุดของค่าในชุดระเบียนที่ระบุ (โดเมน) ใช้ฟังก์ชัน DAvg ในโมดูล Visual Basic for Applications (VBA) ในแมโคร ในนิพจน์คิวรี หรือในตัวควบคุมจากการคํานวณ

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

ไวยากรณ์

DAvg(expr, domain [, criteria] )

ไวยากรณ์ของฟังก์ชัน DAvg มีอาร์กิวเมนต์ดังนี้

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

    

ข้อสังเกต

ระเบียนที่มีค่า Null จะไม่รวมอยู่ในการคํานวณค่าเฉลี่ย

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

คุณสามารถใช้ฟังก์ชัน 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 เพื่อหาค่าเฉลี่ยของค่าในเขตข้อมูลในตารางภายนอกได้ แต่การสร้างคิวรีที่มีเขตข้อมูลทั้งหมดที่คุณต้องการ แล้วยึดฟอร์มหรือรายงานของคุณตามคิวรีนั้นอาจมีประสิทธิภาพมากกว่า

หมายเหตุ

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

ตัวอย่าง

หมายเหตุ

ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงนักพัฒนาในรายการ ดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา

ฟังก์ชันต่อไปนี้จะส่งกลับค่าขนส่งโดยเฉลี่ยสําหรับการสั่งซื้อที่จัดส่งในวันที่หรือหลังจากวันที่กําหนด โดเมนคือตารางใบสั่งซื้อ อาร์กิวเมนต์ เกณฑ์ จะจํากัดชุดผลลัพธ์ของระเบียนโดยยึดตามประเทศ/ภูมิภาคและวันที่จัดส่งที่ระบุ โปรดสังเกตว่า คําสําคัญ 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#