Funktionen DSum

Du kan bruge funktionen DSum til at beregne summen af et sæt værdier (et domæne). Brug funktionen DSum i et VBS-modul (Visual Basic for Applications), en makro, et forespørgselsudtryk eller et beregnet kontrolelement.

Du kan f.eks. bruge funktionen DSum i et beregnet feltudtryk i en forespørgsel til at beregne det samlede salg, der er foretaget af en bestemt medarbejder over en periode. Eller du kan bruge funktionen DSum i et beregnet kontrolelement for at vise en løbende salgssum for et bestemt produkt.

Syntaks

DSum ( udtryk , domæne [, kriterier] )

Syntaksen for funktionen DSum har disse argumenter:

Argument

Beskrivelse

udtryk

Påkrævet. Et udtryk, der identificerer det numerisk felt, hvis værdier du vil lægge sammen. Det kan være et strengudtryk, der identificerer et felt i en tabel eller forespørgsel, eller det kan være et udtryk, der udfører en beregning af data i det pågældende felt. I udtryk kan du medtage navnet på et felt i en tabel, et kontrolelement i en formular, en konstant eller en funktion. Hvis udtryk indeholder en funktion, kan den enten være indbygget eller brugerdefineret, men det kan ikke være en anden domæneaggregeringsfunktion eller en SQL-aggregeringsfunktion.

domæne

Påkrævet. Et strengudtryk, der identificerer det sæt af poster, der udgør domænet. Det kan være et tabelnavn eller et forespørgselsnavn til en forespørgsel, der ikke kræver en parameter.

kriterier

Valgfrit. Et strengudtryk, der bruges til at begrænse det dataområde, hvor funktionen DSum udføres. Eksempelvis svarer kriterier ofte til WHERE-delsætningen i et SQL-udtryk uden ordet WHERE. Hvis kriterier udelades, evaluerer funktionen DSumudtryk imod hele domænet. Alle felter, der er inkluderet i kriterier, skal også være felter i domæne. Ellers returnerer funktionen DSum en Null-værdi.


Bemærkninger

Hvis der ikke er nogen poster, der opfylder kriterier-argumentet, eller hvis domæne ikke indeholder nogen poster, returnerer funktionen DSum en Null-værdi.

Uanset om du bruger funktionen DSum i en makro, et modul, et forespørgselsudtryk eller et beregnet kontrolelement, skal du konstruere argumentet kriterier omhyggeligt for at sikre, at det evalueres korrekt.

Du kan bruge funktionen DSum til at angive kriterier i rækken Kriterier i en forespørgsel, i et beregnet felt i et forespørgselsudtryk eller i rækken Opdater til i en opdater forespørgsel.

Bemærk: Du kan bruge enten funktionen DSum eller Sum i et beregnet feltudtryk i en totalforespørgsel. Hvis du bruger funktionen DSum, beregnes værdierne, før dataene grupperes. Hvis du bruger funktionen Sum, grupperes dataene, før værdierne i feltudtrykket evalueres.

Det kan være en ide at bruge funktionen DSum, når du har brug for at få vist summen af et sæt af værdier fra et felt, der ikke er i postkilden for din formular eller rapport. Lad os antage, at du har en formular, der viser oplysninger om et bestemt produkt. Så kan du bruge funktionen DSum til at bevare et løbende total for salg af det pågældende produkt i et beregnet kontrolelement.

tip

Hvis du har brug for at bevare et løbende total i et kontrolelement i en rapport, kan du bruge egenskaben RunningSum (LøbendeSum) for kontrolelementet, hvis det felt, som den baseres på, er medtaget i postkilden for rapporten. Du kan bruge funktionen DSum til at bevare en løbende sum i en formular.

Bemærk: Ikke-gemte ændringer i poster i domæne inkluderes ikke, når du bruger denne funktion. Hvis du vil have, at funktionen DSum skal være baseret på de ændrede værdier, skal du først gemme ændringerne ved at klikke på Gem post under Poster på fanen Hjem, flytte fokus til en anden post eller ved hjælp af metoden Opdater.

Eksempler

Brug funktionen DSum i et udtryk    Du kan bruge en domænefunktion (f.eks. DSum) i rækken Opdater til i en opdateringsforespørgsel. Lad os antage, at du vil spore det aktuelle salg efter produkt i en produkttabel. Du kan tilføje et nyt felt ved navn SalesSoFar (SalgIndtilNu) i tabellen Produkter og køre en opdateringsforespørgsel for at beregne de korrekte værdier og opdatere posterne. For at gøre dette skal du oprette en ny forespørgsel baseret på tabellen Produkter, og derefter skal du klikke på fanen Design og i gruppenForespørgselstype klikke på Opdatering. Tilføj feltet SalesSoFar (SalgIndtilNu) i forespørgselsgitteret, og skriv følgende i rækken Opdater til:

DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])

Når du kører forespørgslen, beregner Access det samlede salgsbeløb for hvert produkt baseret på oplysningerne fra tabellen Ordredetaljer i Access. Salgssummen for hvert produkt tilføjes i tabellen Produkter.

Brug DSum i VBA-kode    

Bemærk: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.

I følgende eksempel sammenlægges værdierne fra feltet Fragt for ordrer, der er sendt til Storbritannien. Domænet er en ordretabel. Argumentet kriterier begrænser resultatsættet af poster til dem, hvor ShipCountryRegion er lig med Storbritannien.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

I det næste eksempel beregnes der en total ved hjælp af to separate kriterier. Bemærk, at enkelte anførselstegn (') og nummertegn (#) inkluderes i strengudtrykket, så når strengene sammenkædes, omsluttes strengkonstanten af enkelte anførselstegn, og datoen omsluttes af nummertegn.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK' AND _
[ShippedDate] > #1-1-95#")
Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×