Du kan bruke DCount-funksjonen til å bestemme hvor mange poster som er i et bestemt sett med poster (et domene ). Bruk DCount-funksjonen i en VBA-modul (Visual Basic for Applications), en makro, et spørringsuttrykk eller en beregnet kontroll.

Du kan for eksempel bruke DAntall-funksjonen i en modul til å returnere antall poster i en ordretabell som tilsvarer ordrer plassert på en bestemt dato.

Syntaks

DCount ( expr , domain [ ,criteria] )

Syntaksen for funksjonen DAntall har disse argumentene:

Argument

Beskrivelse

uttr

Obligatorisk. Et uttrykk som identifiserer feltet du vil telle poster for. Det kan være et strenguttrykk som identifiserer et felt i en tabell eller spørring, eller det kan være et uttrykk som utfører beregninger på data i det feltet. I uttr kan du ta med navnet på et felt i en tabell, en kontroll på et skjema, en konstant eller en funksjon. Hvis uttr inneholder en funksjon, kan den være innebygd eller brukerdefinert, men ikke en annen domenemengde- eller SQL-mengdefunksjon.

domene

Obligatorisk. En streng som identifiserer settet med poster som utgjør domenet. Det kan være enten et tabellnavn eller et spørringsnavn for en spørring som ikke krever en parameter.

vilkår

Valgfritt. Et strenguttrykk som brukes til å begrense dataområdet der DCount-funksjonen utføres. Vilkår tilsvarer for eksempel ofte WHERE-setningen i et SQL-uttrykk, uten ordet WHERE. Hvis vilkår utelates, evaluerer DCount-funksjonenuttr mot hele domenet. Alle felter som er inkludert i vilkår, må også være et felt i domenet. Ellers returnerer DCount-funksjonen en Null.

Merknader

Bruk DCount-funksjonen til å telle antall poster i et domene når du ikke trenger å vite de bestemte verdiene. Selv om uttr-argumentet kan utføre en beregning på et felt, teller DAntall-funksjonen ganske enkelt antallet poster. Verdien for alle beregninger som utføres med uttr, er ikke tilgjengelig.

Bruk DCount-funksjonen i en beregnet kontroll når du må angi vilkår for å begrense dataområdet der funksjonen utføres. Hvis du for eksempel vil vise antall ordrer som skal sendes til California, angir du egenskapen ControlSource for en tekstboks til følgende uttrykk:

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

Hvis du bare vil telle alle postene i domenet uten å angi begrensninger, kan du bruke Antall-funksjonen.

Tips Antall-funksjonen er optimalisert for en raskere telling av poster i spørringer. Bruk Antall-funksjonen i et spørringsuttrykk i stedet for DAntall-funksjonen, og angi valgfrie vilkår for å fremtvinge eventuelle begrensninger på resultatene. Bruk DCount-funksjonen når du må telle poster i et domene fra en kodemodul eller makro, eller i en beregnet kontroll.

Du kan bruke DCount-funksjonen til å telle antall poster som inneholder et bestemt felt som ikke er i postkilden som skjemaet eller rapporten er basert på. Du kan for eksempel vise antall ordrer i Ordrer-tabellen i en beregnet kontroll på et skjema basert på Produkter-tabellen.

DCount-funksjonen teller ikke poster som inneholder nullverdier i feltet referert til av uttr, med mindre uttr er jokertegnet (*). Hvis du bruker en stjerne, beregner DAntall-funksjonen totalt antall poster, inkludert poster som inneholder Null-felt. Det følgende eksemplet beregner antall poster i en ordretabell.

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

Hvis domenet er en tabell med en primærnøkkel, kan du også telle totalt antall poster ved å angi uttr til primærnøkkelfeltet, siden det aldri vil være null i primærnøkkelfeltet.

Hvis uttr identifiserer flere felt, skiller du feltnavnene med en sammenkrysningsoperator, enten et ampersand (&) eller addisjonsoperatoren (+). Hvis du bruker et #-tegn til å skille feltene, returnerer DAntall-funksjonen antall poster som inneholder data i alle de oppførte feltene. Hvis du bruker addisjonsoperatoren, returnerer DAntall bare antall poster som inneholder data i alle de oppførte feltene. Det følgende eksemplet viser effektene av hver operator når den brukes med et felt som inneholder data i alle poster (ShipName) og et felt som ikke inneholder data (SkipRegion).

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

Obs!:  Ampersand er den foretrukne operatoren for å utføre streng kjede sammen. Du bør unngå å bruke addisjonsoperatoren til noe annet enn numerisk tillegg, med mindre du spesifikt vil overføre nullverdier via et uttrykk.

Ulagrede endringer til poster i domene er ikke inkludert når du bruker denne funksjonen. Hvis du vil at DCount-funksjonen skal være basert på de endrede verdiene, må du først lagre endringene ved å klikke Lagre post under Poster på Data-fanen, flytte fokus til en annen post eller ved hjelp av Updat-e-metoden.

Eksempler på spørring

Uttrykk

Resultater

SELECT DCount("ProductID","ProductSales","Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0");

Returnerer antallet verdier i feltet ProduktID i tabellen Produktsalg der Rabatt-verdien er 0.

SELECT DCount("ProductID","ProductSales","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1");

Returnerer antallet verdier i feltet ProduktID i tabellen Produktsalg der DateofSale er en dag før gjeldende dato.

VBA-eksempel

Obs!: I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.

Følgende funksjon returnerer antall ordrer som er sendt til et bestemt land/område etter en angitt forsendelsesdato. Domenet er en bestillingstabell.

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

Hvis du vil kalle opp funksjonen, bruker du følgende kodelinje i øyeblikksvinduet:

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

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Hvor fornøyd er du med kvaliteten på oversettelsen?
Hva påvirket opplevelsen din?

Takk for tilbakemeldingen!

×