Pomoću funkcije DCount možete odrediti broj zapisa koji se nalaze u navedenom skupu zapisa ( domena ). Funkciju DCount koristite u modulu programa Visual Basic for Applications (VBA), modulu makronaredba, izrazu upita ili u izračunata kontrola.
Možete, primjerice, koristiti funkciju DCount u modulu da biste vratili broj zapisa u tablici Narudžbe koji odgovaraju narudžbama poslanima na određeni datum.
Sintaksa
DCount ( expr , domena [, kriteriji] )
Sintaksa funkcije DCount sadrži ove argumente:
Argument |
Opis |
izraz |
Obavezno. Izraz koji određuje polje za koje ž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 argument izraz možete uvrstiti naziv polja tablice, kontrolu s obrasca, konstantu ili funkciju. Ako izraz sadrži 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 na kojima se izvodi funkcija DCount . Na primjer, kriteriji su često ekvivalentni uvjetu WHERE u SQL izrazu, bez riječi WHERE. Ako izostavite kriterije, funkcija DCount vrednuje izraz u odnosu na cijelu domenu. Svako polje koje je obuhvaćeno kriterijima mora biti i polje u domeni. u suprotnom funkcija DCount vraća vrijednost Null. |
Napomene
Funkciju DCount koristite za brojanje zapisa u domeni kada ne morate znati njihove određene vrijednosti. Iako argument izraz može izvesti izračun na polju, funkcija DCount jednostavno bilježi broj zapisa. Vrijednost svih izračuna koje izvodi izraz nije dostupna.
Funkciju DCount koristite u kontroli izračuna kada morate navesti kriterije da biste ograničili raspon podataka na kojima se funkcija izvodi. Da biste, primjerice, prikazali broj narudžbi za otpremu u Kaliforniju, postavite svojstvo ControlSource tekstnog okvira na sljedeći izraz:
=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")
Ako samo želite prebrojati sve zapise u domeni bez navođenje ograničenja, koristite funkciju Count .
Savjet Funkcija Count optimizirana je za brojanje zapisa u upitima. Koristite funkciju Count u izrazu upita umjesto funkcije DCount i postavite neobavezne kriterije da biste nametnuli sva ograničenja rezultata. Funkciju DCount koristite kada morate brojati zapise u domeni iz modula koda ili makronaredbe ili u kontroli izračuna.
Pomoću funkcije DCount možete prebrojati zapise koji sadrže određeno polje koje nije u izvoru zapisa na kojem se temelji obrazac ili izvješće. 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 zvjezdica (*) zamjenski znak. 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 primarni ključ, možete zbrojiti i ukupan broj zapisa postavljanjem izraza na polje primarnog ključa jer u polju primarnog ključa nikada neće biti null.
Ako izraz identificira više polja, nazive polja odvojite operatorom povezivanja, znakom ampersand (&) ili operatorom zbrajanja (+). Ako koristite znak za razdvajanje polja, funkcija 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 prikazuju efekti svakog operatora kada se koristi s poljem 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: Ampersand je preferirani operator za izvođenje povezivanja niza. Nemojte koristiti operator zbrajanja za bilo što osim numeričkog dodavanja, osim ako želite prenijeti null putem izraza.
Funkcija neće obuhvatiti nespremljene promjene zapisa u argumentu domena. 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 metodom Ažuriranje e.
Primjeri upita
Izraz |
Rezultati |
SELECT DCount("IDproizvoda","ProdajaProizvoda","Popust=0") KAO Izraz1 IZProdajeProizvoda GROUP BY DCount("IDproizvoda","ProdajeProizvoda","Popust=0"); |
Vraća broj vrijednosti u polju "IDProizvoda" tablice "Proizvodi", pri čemu je vrijednost "Popust" "0". |
SELECT DCount("IDProizvoda","ProdajaProizvoda","DateofSale=Date()-1") KAO jučerProdajaPROdajePROizvodaPROdaja GROUP BY DCount("IDproizvoda";"ProdajaProizvoda","DateofSale=Date()-1"); |
Vraća broj vrijednosti u polju "IDProizvoda" tablice "ProdajaProizvoda", pri čemu je "DateofSale" dan prije trenutnog datuma. |
Primjer VBA-a
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
Za pozivanje funkcije koristite sljedeći redak koda u izravnom prozoru:
:OrdersCount "UK", #1/1/96#