Fungsi DAvg

Berlaku Untuk
Access untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Anda dapat menggunakan fungsi DAvg untuk menghitung rata-rata dari sekumpulan nilai dalam kumpulan rekaman tertentu (domain). Gunakan fungsi DAvg dalam modul Visual Basic for Applications (VBA), dalam makro, dalam ekspresi kueri, atau dalam kontrol terhitung.

Misalnya, Anda dapat menggunakan fungsi DAvg di baris kriteria pada kueri pilih tentang biaya pengiriman untuk membatasi hasil ke catatan yang biaya pengiriman melebihi rata-rata. Atau, Anda dapat menggunakan ekspresi yang menyertakan fungsi DAvg dalam kontrol terhitung dan menampilkan nilai rata-rata pesanan sebelumnya di samping nilai pesanan baru.

Sintaks

DAvg(expr, domain [, kriteria] )

Sintaks fungsi DAvg memiliki argumen berikut:

Argumen Deskripsi
ekspr Diperlukan. Ekspresi yang mengidentifikasi bidang yang berisi data numerik yang ingin Anda rata-rata. Ini dapat berupa ekspresi string yang mengidentifikasi bidang dalam tabel atau kueri, atau dapat berupa ekspresi yang melakukan penghitungan pada data di bidang tersebut. Dalam expr, Anda dapat menyertakan nama bidang dalam tabel, kontrol pada formulir, konstanta, atau fungsi. Jika expr menyertakan fungsi, fungsi tersebut dapat berupa fungsi bawaan atau ditentukan pengguna, tetapi bukan agregat domain lain atau fungsi agregat SQL.
domain Diperlukan. Ekspresi string yang mengidentifikasi sekumpulan rekaman yang membentuk domain. Ini bisa berupa nama tabel atau nama kueri untuk kueri yang tidak memerlukan parameter.
criteria Opsional. Ekspresi string yang digunakan untuk membatasi rentang data tempat fungsi DAvg dilakukan. Misalnya, kriteria sering kali setara dengan klausa WHERE dalam ekspresi SQL, tanpa kata WHERE. Jika kriteria dihilangkan, fungsi DAvg mengevaluasi expr terhadap seluruh domain. Setiap bidang yang termasuk dalam kriteria juga harus berupa bidang dalam domain; jika tidak, fungsi DAvg mengembalikan Null.

    

Keterangan

Rekaman yang berisi nilai Null tidak disertakan dalam penghitungan rata-rata.

Baik Anda menggunakan fungsi DAvg dalam makro atau modul, dalam ekspresi kueri, atau dalam kontrol terhitung, Anda harus membuat argumen kriteria dengan hati-hati untuk memastikan bahwa argumen tersebut akan dievaluasi dengan benar.

Anda dapat menggunakan fungsi DAvg untuk menentukan kriteria dalam baris Kriteria pada kueri. Sebagai contoh, misalnya Anda ingin melihat daftar semua produk yang dipesan dalam jumlah di atas jumlah pesanan rata-rata. Anda dapat membuat kueri pada tabel Pesanan, Detail Pesanan, dan Produk, dan menyertakan bidang Nama Produk dan bidang Kuantitas, dengan ekspresi berikut di baris Kriteria di bawah bidang Kuantitas:

>DAvg("[Quantity]", "Orders")

Anda juga dapat menggunakan fungsi DAvg dalam ekspresi bidang terhitung dalam kueri, atau dalam baris Perbarui Untuk pada kueri pembaruan.

Catatan

Anda dapat menggunakan fungsi DAvg atau Avg dalam ekspresi bidang terhitung dalam kueri total. Jika Anda menggunakan fungsi DAvg , nilai dirata-rata sebelum data dikelompokkan. Jika Anda menggunakan fungsi Avg , data dikelompokkan sebelum nilai dalam ekspresi bidang dirata-ratakan.

Gunakan fungsi DAvg dalam kontrol terhitung ketika Anda perlu menentukan kriteria untuk membatasi rentang data yang digunakan fungsi DAvg . Misalnya, untuk menampilkan biaya pengiriman rata-rata untuk pengiriman yang dikirim ke California, atur properti ControlSource dari kotak teks ke ekspresi berikut:

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Jika Anda hanya ingin menghitung rata-rata semua catatan dalam domain, gunakan fungsi Avg .

Anda dapat menggunakan fungsi DAvg dalam modul atau makro atau dalam kontrol terhitung pada formulir jika bidang yang perlu ditampilkan tidak ada dalam sumber rekaman yang menjadi dasar formulir Anda. Misalnya, Anda memiliki formulir berdasarkan tabel Pesanan, dan ingin menyertakan bidang Kuantitas dari tabel Detail Pesanan untuk menampilkan jumlah rata-rata item yang dipesan oleh pelanggan tertentu. Anda dapat menggunakan fungsi DAvg untuk melakukan penghitungan ini dan menampilkan data di formulir.

Tips

  • Jika menggunakan fungsi DAvg dalam kontrol terhitung, Anda mungkin ingin menempatkan kontrol pada header atau footer formulir sehingga nilai untuk kontrol ini tidak dihitung ulang setiap kali Anda berpindah ke catatan baru.
  • Jika tipe data bidang yang berasal dari expr adalah angka, fungsi DAvg mengembalikan tipe data Ganda. Jika Anda menggunakan fungsi DAvg dalam kontrol terhitung, sertakan fungsi konversi tipe data dalam ekspresi untuk meningkatkan performa.
  • Meskipun Anda dapat menggunakan fungsi DAvg untuk menentukan nilai rata-rata dalam bidang dalam tabel asing, mungkin lebih efisien untuk membuat kueri yang berisi semua bidang yang Anda perlukan, lalu mendasarkan formulir atau laporan pada kueri tersebut.

Catatan

Perubahan yang belum disimpan pada catatan dalam domain tidak disertakan saat Anda menggunakan fungsi ini. Jika ingin fungsi DAvg didasarkan pada nilai yang diubah, Anda harus menyimpan perubahan terlebih dahulu dengan mengklik Simpan Catatan di bawah Catatan pada tab Data , memindahkan fokus ke catatan lain, atau dengan menggunakan metode Perbarui .

Contoh

Catatan

Contoh yang mengikuti demonstrasi penggunaan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar turun bawah di samping Cari dan masukkan satu istilah atau lebih di kotak pencarian.

Fungsi berikut menghasilkan biaya pengiriman rata-rata untuk pesanan yang dikirim pada atau setelah tanggal tertentu. Domainnya adalah tabel Pesanan. Argumen kriteria membatasi kumpulan catatan yang dihasilkan berdasarkan negara/kawasan dan tanggal pengiriman yang diberikan. Perhatikan bahwa kata kunci AND disertakan dalam string untuk memisahkan beberapa bidang dalam argumen kriteria . Semua catatan yang disertakan dalam penghitungan fungsi DAvg akan memiliki kedua kriteria ini.

Public Function AvgFreightCost _
    (ByVal strCountryRegion As String, _
     ByVal dteShipDate As Date) As Double
    AvgFreightCost = DAvg("[Freight]", "Orders", _
        "[ShipCountryRegion] = '" & strCountryRegion & _
        "'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function

Untuk memanggil fungsi, gunakan baris kode berikut di jendela Langsung:

:AvgFreightCost "UK", #1/1/96#