Funkcijo DCount lahko uporabite za določanje števila zapisov, ki so v določenem naboru zapisov (zapis domena ). Uporabite funkcijo DCount v modulu Visual Basic for Applications (VBA), makro, izraz poizvedbe ali izračunani kontrolnik.
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 [, pogoj] )
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 argument izraz lahko vključite ime polja v tabeli, kontrolnik na obrazcu, konstanto ali funkcijo. Če argument 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. Pogoj je na primer pogosto enakovreden stavku WHERE v izjavi SQL, a brez besede WHERE. Če izpustite pogoj, funkcija DCount ovrednoti izraz glede na celotno domeno. Polje, ki je vključeno v pogoj, mora biti tudi polje v domeni; v nasprotnem primeru funkcija DCount vrne vrednost Null. |
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 samo 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 šteje zapisov, ki vsebujejo vrednosti Null v polju, ki se sklicuje na izraz, razen če ni 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 z primarni ključ, lahko skupno število zapisov preštejete tudi tako, da nastavite izraz na polje s primarnim ključem, saj v polju s primarnim ključem nikoli ne bo ničelne vrednosti.
Č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 argumentu domena 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 skupini Zapisi na zavihku Podatki, s čimer premaknete fokus na drug zapis, ali pa uporabite način Posodobitev.
Primeri poizvedb
Izraz |
Rezultati |
SELECT DCount("ProductID","ProductSales","Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0"); |
Vrne število vrednosti v polju »IDizdelka« v tabeli »Naročila izdelkov«, 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« v tabeli »ProdajaProdaje izdelkov«, kjer je »DateofSale« 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#