Fungsi DCount

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

Anda dapat menggunakan fungsi DCount untuk menentukan jumlah rekaman yang ada dalam kumpulan rekaman tertentu (domain). Gunakan fungsi DCount dalam modul Visual Basic for Applications (VBA), makro, ekspresi kueri, atau kontrol terhitung.

Misalnya, Anda dapat menggunakan fungsi DCount dalam modul untuk mengembalikan jumlah catatan dalam tabel Pesanan yang sesuai dengan pesanan yang dilakukan pada tanggal tertentu.

Sintaks

DCount(expr, domain* [, kriteria] )

Sintaks fungsi DCount memiliki argumen berikut:

Argumen Deskripsi
ekspr Diperlukan. Ekspresi yang mengidentifikasi bidang yang ingin Anda hitung catatannya. 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 DCount dilakukan. Misalnya, kriteria sering kali setara dengan klausa WHERE dalam ekspresi SQL, tanpa kata WHERE. Jika kriteria dihilangkan, fungsi DCount mengevaluasi expr terhadap seluruh domain. Setiap bidang yang termasuk dalam kriteria juga harus berupa bidang dalam domain; jika tidak, fungsi DCount mengembalikan Null.

Keterangan

Gunakan fungsi DCount untuk menghitung jumlah rekaman dalam domain ketika Anda tidak perlu mengetahui nilai tertentunya. Meskipun argumen expr dapat melakukan penghitungan pada bidang, fungsi DCount hanya menghitung jumlah rekaman. Nilai dari penghitungan apa pun yang dilakukan oleh expr tidak tersedia.

Gunakan fungsi DCount dalam kontrol terhitung ketika Anda perlu menentukan kriteria untuk membatasi rentang data tempat fungsi dijalankan. Misalnya, untuk menampilkan jumlah pesanan yang akan dikirim ke California, atur properti ControlSource dari kotak teks ke ekspresi berikut:

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

Jika Anda hanya ingin menghitung semua catatan dalam domain tanpa menentukan batasan apa pun, gunakan fungsi Count .

Tips Fungsi Hitung telah dioptimalkan untuk mempercepat penghitungan catatan dalam kueri. Gunakan fungsi Count dalam ekspresi kueri, bukan fungsi DCount, dan tetapkan kriteria opsional untuk memberlakukan batasan apa pun pada hasil. Gunakan fungsi DCount ketika Anda harus menghitung catatan dalam domain dari dalam modul kode atau makro, atau dalam kontrol terhitung.

Anda dapat menggunakan fungsi DCount untuk menghitung jumlah rekaman yang berisi bidang tertentu yang tidak ada dalam sumber rekaman yang menjadi dasar formulir atau laporan Anda. Misalnya, Anda dapat menampilkan jumlah pesanan dalam tabel Pesanan dalam kontrol terhitung pada formulir berdasarkan tabel Produk.

Fungsi DCount tidak menghitung catatan yang berisi nilai Null dalam bidang yang direferensikan oleh expr , kecuali expr adalah karakter wildcard tanda bintang (*). Jika Anda menggunakan tanda bintang, fungsi DCount menghitung jumlah total rekaman, termasuk yang berisi bidang Null . Contoh berikut menghitung jumlah catatan dalam tabel Pesanan.

intX = DCount("*", "Orders")

Jika domain adalah tabel dengan kunci primer, Anda juga dapat menghitung jumlah total catatan dengan mengatur expr ke bidang kunci primer, karena tidak akan pernah ada Null di bidang kunci primer.

Jika expr mengidentifikasi beberapa bidang, pisahkan nama bidang dengan operator penggabungan, baik ampersand (&) maupun operator penambahan (+). Jika Anda menggunakan ampersand untuk memisahkan bidang, fungsi DCount mengembalikan jumlah rekaman yang berisi data di salah satu bidang yang tercantum. Jika Anda menggunakan operator penjumlahan, fungsi DCount hanya mengembalikan jumlah rekaman yang berisi data di semua bidang yang tercantum. Contoh berikut menunjukkan efek setiap operator ketika digunakan dengan bidang yang berisi data di semua catatan (ShipName) dan bidang yang tidak berisi data (ShipRegion).

intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")

Catatan

Ampersand adalah operator yang lebih disukai untuk melakukan penggabungan string. Anda harus menghindari penggunaan operator penambahan untuk apa pun selain penambahan numerik, kecuali jika Anda secara khusus ingin menyebarkan Null melalui ekspresi.

Perubahan yang belum disimpan pada catatan dalam domain tidak disertakan saat Anda menggunakan fungsi ini. Jika ingin fungsi DCount 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 kueri

Ekspresi Hasil
PILIH DCount("ProductID","ProductSales","Diskon=0") SEBAGAI Expr1 DARI ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0"); Mengembalikan jumlah nilai dalam bidang "ProductID" tabel "ProductSales" di mana nilai "Diskon" adalah "0".
PILIH DCount("ProductID","ProductSales","DateofSale=Date()-1") SEBAGAI YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1"); Mengembalikan jumlah nilai dalam bidang "ProductID" dari tabel "ProductSales" di mana "DateofSale" adalah sehari sebelum tanggal saat ini.

Contoh VBA

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 mengembalikan jumlah pesanan yang dikirim ke negara/kawasan tertentu setelah tanggal pengiriman yang ditentukan. Domainnya adalah tabel Pesanan.

Public Function OrdersCount _
    (ByVal strCountryRegion As String, _
    ByVal dteShipDate As Date) As Integer
    OrdersCount = DCount("[ShippedDate]", "Orders", _
        "[ShipCountryRegion] = '" & strCountryRegion & _
        "' AND [ShippedDate] > #" & dteShipDate & "#")
End Function

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

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