Funkcija „DCount“

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

Funkciju DCount možete da koristite za određivanje broja zapisa koji se nalaze u navedenom skupu zapisa (domenu). Koristite funkciju DCount u Visual Basic for Applications (VBA) modulu, makrou, izrazu upita ili izračunatoj kontroli.

Na primer, možete da koristite funkciju DCount u modulu da biste dobili broj zapisa u tabeli "Porudžbine" koji odgovaraju porudžbinama poslatim određenog datuma.

Sintaksa

DCount(izraz, domen* [, kriterijumi] )

Sintaksa funkcije DCount ima sledeće argumente:

Argument Opis
expr Obavezno. Izraz koji identifikuje polje za koje želite da prebrojite zapise. Može da bude izraz niske koji identifikuje polje u tabeli ili upitu ili može da bude izraz koji izvršava izračunavanje podataka u tom polju. U izrazu expr možete da uključite ime polja u tabeli, kontrolu u obrascu, konstantu ili funkciju. Ako izraz uključuje funkciju, ona može da bude ugrađena ili korisnički definisana, ali ne može da bude agregatna funkcija drugog domena ili SQL agregatna funkcija.
domen Obavezno. Izraz niske koji identifikuje skup zapisa koji čine domen. Može da bude ime tabele ili ime upita za upit koji ne zahteva parametar.
kriterijum Opcionalno. Izraz niske koji se koristi za ograničavanje opsega podataka na kojem se izvršava funkcija DCount . Na primer, kriterijumi su često jednaki odredbi WHERE u SQL izrazu, bez reči WHERE. Ako se kriterijumi izostavi, funkcija DCount procenjuje izraz naspram celog domena. Sva polja uključena u kriterijume takođe moraju da budu polje u domenu; u suprotnom, funkcija DCount vraća vrednost "Null".

Napomene

Koristite funkciju DCount za prebrojavanje zapisa u domenu kada ne morate da znate njihove određene vrednosti. Iako argument izraz može da izvrši izračunavanje u polju, funkcija DCount jednostavno sabira broj zapisa. Vrednost bilo kog izračunavanja koje je izvršio izraz nije dostupna.

Koristite funkciju DCount u izračunatoj kontroli kada treba da navedete kriterijume da biste ograničili opseg podataka na kojem se funkcija izvršava. Na primer, da biste prikazali broj porudžbina koje treba isporučiti u Kaliforniju, postavite svojstvo "Izvor kontrole " okvira za tekst u sledeći izraz:

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

Ako jednostavno želite da prebrojite sve zapise u domenu bez navođenja ograničenja, koristite funkciju Count .

Savet Funkcija Count je optimizovana za ubrzavanje prebrojavanja zapisa u upitima. Koristite funkciju Count u izrazu upita umesto funkcije DCount i postavite opcionalne kriterijume da biste nametnuli sva ograničenja za rezultate. Koristite funkciju DCount kada morate da prebrojite zapise na domenu iz modula koda ili makroa ili u izračunatoj kontroli.

Funkciju DCount možete koristiti za prebrojavanje zapisa koji sadrže određeno polje koje nije u izvoru zapisa na kom se zasniva obrazac ili izveštaj. Na primer, možete da prikažete broj porudžbina u tabeli "Porudžbine" u izračunatoj kontroli u obrascu koji se zasniva na tabeli "Proizvodi".

Funkcija DCount ne prebrojava zapise koji sadrže vrednosti "Null " u polju na koje upućuje izraz, osim ako je izraz džoker znak zvezdica (*). Ako koristite zvezdicu, funkcija DCount izračunava ukupan broj zapisa, uključujući one koji sadrže polja "Null ". Sledeći primer izračunava broj zapisa u tabeli "Porudžbine".

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

Ako je domen tabela sa primarnim ključem, takođe možete da izračunate ukupan broj zapisa tako što ćete postaviti izraz na polje primarnog ključa, pošto u polju primarnog ključa nikada neće biti vrednosti "Null ".

Ako izraz identifikuje više polja, razdvojite imena polja operatorom spajanja, bilo ampersandom (&) ili operatorom sabiranja (+). Ako koristite znak "ampersand" za razdvajanje polja, funkcija DCount daje broj zapisa koji sadrže podatke u bilo kom od navedenih polja. Ako koristite operator za sabiranje, funkcija DCount daje samo broj zapisa koji sadrže podatke u svim navedenim poljima. Sledeći primer pokazuje efekte svakog operatora kada se koristi za polje koje sadrži podatke u svim zapisima (ShipName) i polje koje ne sadrži nikakve podatke (ShipRegion).

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

Napomena

Znak "ampersand" je željeni operator za izvođenje spajanja niski. Trebalo bi da izbegavate korišćenje operatora za sabiranje samo za numeričko sabiranje, osim ako posebno ne želite da prenesete polja bez vrednosti kroz izraz.

Nesačuvane promene na zapisima u domenu nisu uključene kada koristite ovu funkciju. Ako želite da se funkcija DCount zasniva na promenjenim vrednostima, prvo morate da sačuvate promene tako što ćete kliknuti na dugme "Sačuvaj zapis " u okviru "Zapisi " na kartici "Podaci ", premeštajući fokus na drugi zapis, ili tako što ćete upotrebiti metod ažuriranja .

Primeri upita

Izraz Rezultati
SELECT DCount("ProductID","ProductSales","Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0"); Daje broj vrednosti u polju "ID proizvoda" tabele "ProdajaProizvod" gde je vrednost "Popust" "0".
SELECT DCount("ProductID","ProductSales","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1"); Daje broj vrednosti u polju "ID proizvoda" tabele "ProdajaProizvod" gde je "DatumProdaje" dan pre trenutnog datuma.

VBA primer

Napomena

Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu. Za više informacija o radu sa VBA modulom izaberite stavku Referenca razvojnog programera sa padajuće liste pored stavke Pretraga i unesite termine u polje za pretragu.

Sledeća funkcija vraća broj porudžbina isporučenih u navedenu zemlju/region posle navedenog datuma isporuke. Domen je tabela „Porudžbine“.

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, koristite sledeću liniju koda u trenutnom prozoru:

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