Funkcija DCount

Velja za
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Funkcijo DCount lahko uporabite za določanje števila zapisov v določenem naboru zapisov (domeni). Funkcijo DCount lahko uporabite v modulu VBA (Visual Basic for Applications), makru, izrazu poizvedbe ali izračunanem kontrolniku.

Funkcijo DCount lahko na primer uporabite v modulu, če želite vrniti število zapisov v tabeli »Naročila«, ki ustrezajo naročilom, oddanim določenega dne.

Sintaksa

DCount(izraz, domena* [, pogoji] )

Sintaksa funkcije DCount ima te argumente:

Argument Opis
izraz Obvezen. Izraz, ki določa polje, za katerega želite prešteti zapise. To je lahko izraz niza, ki določa polje v tabeli ali poizvedbi, ali pa izraz, ki izvaja funkcijo računanja podatkov v tem polju. V izraz lahko vključite ime polja v tabeli, kontrolnik na obrazcu, konstanto ali funkcijo. Če izraz vključuje funkcijo, je lahko vgrajen ali uporabniško določen, ne more pa biti skupek druge domene ali združevalne funkcije strežnika SQL.
domena Obvezen. Izraz niza, ki določa nabor zapisov, ki sestavljajo domeno. To je lahko ime tabele ali ime poizvedbe za poizvedbo, ki ne zahteva parametra.
pogoji Izbiren. Izraz niza, ki se uporablja za omejitev obsega podatkov, na katerem se izvede funkcija DCount. Argument »pogoji« je na primer pogosto enakovreden stavku WHERE v izrazu strežnika SQL, vendar brez besede WHERE. Če izpustite argument »pogoj «, funkcija DCount ovrednoti izraz glede na celotno domeno. Vsa polja, ki so vključena v pogoj, morajo biti tudi polje v domeni; V nasprotnem primeru funkcija DCount vrne ničelno vrednost.

Pripombe

Uporabite funkcijo DCount za štetje števila zapisov v domeni, kadar niso pomembne njihove določene vrednosti. Čeprav lahko argument »izraz« izvede izračun v polju, funkcija DCount preprosto prešteje število zapisov. Vrednosti izračunov, ki jih izvede izraz, niso na voljo.

Uporabite funkcijo DCount v izračunanem kontrolniku, če želite določiti pogoje za omejitev obsega podatkov, v katerih se izvaja funkcija. Če želite na primer prikazati število naročil za pošiljanje v Kalifornijo, nastavite lastnost »ControlSource «polja z besedilom na ta izraz:

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

Če pa želite prešteti vse zapise v domeni brez kakršnih koli omejitev, uporabite funkcijo Count .

Namig Funkcija Count je bila optimizirana za pospešitev štetja zapisov v poizvedbah. Funkcijo Count uporabite v izrazu poizvedbe namesto funkcije DCount in nastavite izbirne pogoje za uveljavitev omejitev rezultatov. Funkcijo DCount uporabite, kadar morate prešteti zapise v domeni iz modula kode ali makra ali v izračunanem kontrolniku.

Funkcijo DCount lahko uporabite za štetje zapisov, ki vsebujejo določeno polje, ki ni v viru zapisov, na katerem temelji obrazec ali poročilo. Na primer, prikažete lahko število naročil v tabeli »Naročila« v izračunanem kontrolniku v obrazcu, ki temelji na tabeli »Izdelki«.

Funkcija DCount ne prešteje zapisov, ki vsebujejo ničelne vrednosti v polju, na katerega se sklicuje izraz , razen če je izraz nadomestni znak zvezdica (*). Če uporabite zvezdico, funkcija DCount izračuna skupno število zapisov, vključno s tistimi, ki vsebujejo polja Null. V spodnjem primeru je izračunano število zapisov v tabeli »Naročila«.

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

Če je domena tabela s primarnim ključem, lahko preštejete tudi skupno število zapisov tako, da nastavite izraz v polje s primarnim ključem, ker v polju s primarnim ključem nikoli ne bo nič .

Če izraz določa več polj, ločite imena polj z operatorjem za združevanje, bodisi z znakom »in« (&) ali z operatorjem seštevanja (+). Če za ločevanje polj uporabite znak »in«, funkcija DCount vrne število zapisov, ki vsebujejo podatke v katerem koli od navedenih polj. Če uporabite operator seštevanja, funkcija DCount vrne samo število zapisov, ki vsebujejo podatke v vseh navedenih poljih. V naslednjem primeru so prikazani učinki posamičnih operatorjev, kadar jih uporabljate s poljem, ki vsebuje podatke v vseh zapisih (ImePrejemnika) in poljem, ki ne vsebuje podatkov (RegijaPrejemnika).

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

Opomba

Znak »in« je priporočeni operator za spajanje nizov. Ne uporabljajte operatorja seštevanja za druge namene kot za seštevanje števil, razen, če izrecno ne želite razširiti ničelne vrednosti v izrazu.

Neshranjene spremembe zapisov v domeni niso vključene, ko uporabite to funkcijo. Če želite, da funkcija DCount temelji na spremenjenih vrednostih, morate najprej shraniti spremembe tako, da kliknete Shrani zapis v razdelku » Zapisi « na zavihku » Podatki «, s čimer premaknete fokus na drug zapis, ali pa uporabite način posodobitve .

Primeri poizvedb

Izraz Rezultati
SELECT DCount("IDIzdelka";"ProdajaIzdelka";"Popust=0") AS Izr1 FROM Skupina ProdajeIzdelkov BY DCount("IDIzdelka","ProdajaZdelka";"Popust=0"); Vrne število vrednosti v polju »IDIzdelka« tabele »ProdajaIzdelka«, kjer je vrednost »Popust« 0.
SELECT DCount("ProductID","ProductSales","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1"); Vrne število vrednosti v polju »IDIzdelka« tabele »ProdajaIzdelek«, kjer je »DatumProdaje« en dan pred trenutnim datumom.

Primer VBA

Opomba

V spodnjih primerih je prikazana uporaba te funkcije v modulu Visual Basic for Applications (VBA). Če želite več informacij o delu z modulom VBA, izberite Vsebina za razvijalce na spustnem seznamu ob možnosti Iskanje in v iskalno polje vnesite enega ali več izrazov.

Spodnja funkcija vrne število naročil, odposlanih v določeno državo/regijo po navedenem datumu odpreme. Domeno predstavlja tabela »Naročila«.

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

Če želite priklicati funkcijo, v neposrednem oknu uporabite to vrstico kode:

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