Funkcija DCount

Primjenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Funkciju DCount možete koristiti za određivanje broja zapisa koji se nalaze u određenom skupu zapisa (domeni). Funkciju DCount možete koristiti za sljedeća okruženja: modul jezika Visual Basic for Applications (VBA), makronaredbu, izraz upita ili kontrolu izračuna.

Primjerice, funkciju DCount mogli biste koristiti u modulu da biste dobili broj zapisa u tablici Narudžbe koji odgovaraju narudžbama pokrenutim na određeni datum.

Sintaksa

DCount(izraz, domena* [, kriterij])

Sintaksa funkcije DCount sadrži ove argumente:

Argument Opis
izraz Obavezno. Izraz koji određuje polje u kojem želite prebrojiti zapise. To može biti nizovni izraz koji određuje polje u tablici ili upitu ili izraz koji izvodi izračun na podacima u tom polju. U izraz možete uvrstiti naziv polja tablice, kontrolu na obrazac, konstantu ili funkciju. Ako izraz uključuje funkciju, ona može biti ili ugrađena ili korisnički definirana, no ne može biti neka druga domenska ili SQL funkcija zbrajanja.
domena Obavezno. Niz koji određuje skup zapisa koji čine domenu. To može biti naziv tablice ili upita za upit koji ne zahtijeva parametar.
kriteriji Neobavezno. Nizovni izraz koji se koristi za ograničavanje raspona podataka nad kojim se provodi funkcija DCount . Primjerice, kriterij je često jednak uvjetu WHERE u SQL izrazu, bez riječi WHERE. Ako izostavite criteria , funkcija DCount vrednuje izraz u cijeloj domeni. Svako polje koje je obuhvaćeno kriterijem mora biti i polje u domeni; u suprotnom funkcija DCount vraća vrijednost Null.

Napomene

Pomoću funkcije DCount prebrojite zapise u domeni kada ne morate znati njihove određene vrijednosti. Iako argument izraz može izvesti izračun na polju, funkcija DCount jednostavno zbraja broj zapisa. Vrijednost bilo kojeg izračuna pomoću izraza nije dostupna.

Funkciju DCount koristite u kontroli izračuna kada morate navesti kriterije za ograničavanje raspona podataka na kojem se funkcija izvodi. Da biste, primjerice, prikazali broj narudžbi koje će se isporučiti u Kaliforniju, postavite svojstvo ControlSource tekstnog okvira na sljedeći izraz:

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

Ako jednostavno želite prebrojati sve zapise u domeni bez navođenja ograničenja, koristite funkciju Count .

Savjet Funkcija Count optimizirana je za ubrzavanje brojanja zapisa u upitima. U izrazu upita umjesto funkcije DCount koristite funkciju Count te postavite neobavezne kriterije da biste nametnuli ograničenja rezultata. Funkciju DCount koristite kada morate brojati zapise u domeni iz modula koda, makronaredbe ili kontrole izračuna.

Funkciju DCount možete koristiti za brojanje zapisa koji sadrže određeno polje koje se ne nalazi u izvoru zapisa na kojem se obrazac ili izvješće temelje. Možete, primjerice, prikazati broj narudžbi u tablici Narudžbe u kontroli izračuna na obrascu koji se temelji na tablici Proizvodi.

Funkcija DCount ne broji zapise koji sadrže vrijednosti Null u polju na koje se poziva izraz , osim ako izraz nije zamjenski znak zvjezdice (*). Ako koristite zvjezdicu, funkcija DCount izračunava ukupan broj zapisa, uključujući one koji sadrže polja Null . U sljedećem se primjeru izračunava broj zapisa u tablici Narudžbe.

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

Ako je domena tablica s primarnim ključem, možete zbrojiti i ukupan broj zapisa postavljanjem izraza na polje primarnog ključa jer u polju primarnog ključa nikad neće biti vrijednosti Null .

Ako izraz identificira više polja, nazive polja odvojite operatorom povezivanja, znakom ampersanda (&) ili operatorom zbrajanja (+). Ako za razdvajanje polja koristite znak DCount vraća broj zapisa koji sadrže podatke u bilo kojem od navedenih polja. Ako koristite operator zbrajanja, funkcija DCount vraća samo broj zapisa koji sadrže podatke u svim navedenim poljima. U sljedećem se primjeru pokazuju učinci svakog operatora kada se koristi uz polje koje sadrži podatke u svim zapisima (ShipName) i polje koje ne sadrži podatke (ShipRegion).

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

Napomena

Znak ampersand je preferirani operator za spajanje nizova. Operator zbrajanja nemojte koristiti za bilo što drugo osim za zbrajanje brojeva, osim ako izričito ne želite prenijeti vrijednosti null putem izraza.

Promjene na zapisima u domeni koje nisu spremljene nisu uključene prilikom korištenja te funkcije. Ako želite da se funkcija DCount temelji na promijenjenim vrijednostima, najprije morate spremiti promjene klikom na Spremi zapis u odjeljku Zapisi na kartici Podaci premještanjem fokusa na drugi zapis ili pomoću metode ažuriranja .

Primjeri upita

Izraz Rezultati
SELECT DCount("IDproizvoda","ProdajaProizvoda","Popust=0") AS Izraz1 FROM Grupa ProdajaProizvoda BY DCount("IDproizvoda","ProdajaProizvoda","Popust=0"); Vraća broj vrijednosti u polju "IDProizvoda" tablice "ProdajaProizvoda", gdje vrijednost "Popust" iznosi "0".
SELECT DCount("IDproizvoda","ProdajaProizvoda","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("IDproizvoda","ProdajaProizvoda","DateofSale=Date()-1"); Vraća broj vrijednosti u polju "IDproizvoda" tablice "ProdajaProizvoda", gdje je "DatumProdaje" dan prije trenutnog datuma.

VBA primjer

Napomena

Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Da biste pronašli dodatne informacije o radu s VBA-om, na padajućem popisu uz stavku Traži odaberite stavku Referenca za razvojne inženjere pa unesite jedan ili više izraza u okvir pretraživanja.

Sljedeća funkcija vraća broj narudžbi isporučenih u navedenu državu/regiju nakon navedenog datuma isporuke. Domena je tablica Narudžbe.

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

Da biste pozvali funkciju, upotrijebite sljedeći redak koda u izvršnom prozoru:

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