Funktionen DAvg

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

Du kan f.eks. bruge funktionen DAvg i kriterierækken for en udvælgelsesforespørgsel om fragtomkostninger til at begrænse resultaterne til de poster, hvor fragtomkostningerne overstiger gennemsnittet. Eller du kan bruge et udtryk med funktionen DAvg i et beregnet kontrolelement og få vist gennemsnitsværdien af tidligere ordrer ved siden af værdien for en ny ordre.

Syntaks

DAvg(expr, domain [, criteria] )

Syntaksen for funktionen DAvg har tre argumenter:

Argument

Beskrivelse

udtr

Påkrævet. Et udtryk, som identificerer det felt, som indeholder de numeriske data, som du vil beregne gennemsnittet af. Det kan være et strengudtryk, der identificerer et felt i en tabel eller en forespørgsel, eller det kan være et udtryk, der udfører en beregning på data i det pågældende felt. I udtryk kan du medtage navnet i et felt i en tabel, et kontrolelement i en formular, en konstant eller en funktion. Hvis udtryk indeholder en funktion, kan den være indbygget eller brugerdefineret, men ikke en anden domæneaggregat- eller SQL-aggregatfunktion.

Domæne

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

Criteria

Valgfri. Et strengudtryk, som anvendes til at begrænse det datoområde, som funktionen DAvg udføres indenfor. F.eks. svarer criteria ofte til WHERE-delsætningen i et SQL-udtryk uden ordet WHERE. Hvis criteria udelades, evaluerer funktionen DAvgexpr i forhold til hele domænet. De felter, som er medtaget i criteria, skal også være felter i domain. I modsat fald returnerer funktionen DAvg værdien Null.


Bemærkninger

Poster, som indeholder Null-værdier, medtages ikke i beregningen af gennemsnittet.

Uanset om du bruger funktionen DAvg i en makro eller et modul, i et forespørgselsudtryk eller i et beregnet kontrolelement, skal du udforme criteria-argumentet omhyggeligt for at sikre, at det evalueres korrekt.

Du kan bruge funktionen DAvg til at angive kriterier i rækken Kriterier for en forespørgsel. Lad os f.eks. antage, at du vil have vist en liste over alle de produkter, der er bestilt i mængder over den gennemsnitlige ordremængde. Du kan oprette en forespørgsel på tabellerne Ordrer, Ordreoplysninger og Produkter og medtage feltet Produktnavn og Antal med følgende udtryk i rækken Kriterier under feltet Antal:

>DAvg("[Antal]", "Ordrer")

Du kan også bruge funktionen DAvg i et beregnet feltudtryk i en forespørgsel eller i rækken Opdater til i en opdater forespørgsel.

Bemærk: Du kan enten bruge funktionen DAvg eller Avg i et beregnet feltudtryk i en totalforespørgsel. Hvis du bruger funktionen DAvg, beregnes gennemsnittet af værdierne, inden oplysningerne grupperes. Hvis du bruger funktionen Avg, grupperes dataene, inden gennemsnittet af værdier i feltet beregnes.

Brug funktionen DAvg i et beregnet kontrolelement, når du skal angive kriterier for at begrænse det datoområde, som funktionen DAvg udføres på. Hvis du f.eks. vil have vist gennemsnitsfragtomkostningerne for leverancer til Californien, skal du angive egenskaben Kontrolelementkilde for en tekstboks til følgende udtryk:

=DAvg("[Fragt]", "Ordrer", "[Modtagerområde] = 'CA'")

Hvis du kun vil beregne gennemsnittet af alle poster i domæne, skal du bruge funktionen Avg.

Du kan bruge funktionen DAvg i et modul eller en makro eller i et beregnet kontrolelement i en formular, hvis et felt, som skal vises, ikke findes i den postkilde, som formularen er baseret på. Lad os f.eks. antage, at du har en formular baseret på tabellen Ordrer, og du vil medtage feltet Antal fra tabellen Ordreoplysninger for at få vist det gennemsnitlige antal varer, der er bestilt af en bestemt kunde. Du kan bruge funktionen DAvg til at udføre denne beregning og få vist dataene på formularen.

Tip!

  • Hvis du bruger funktionen DAvg i et beregnet kontrolelement, kan du placere kontrolelementet i formularens sidehoved eller sidefod, så værdien af kontrolelementet ikke beregnes igen, hver gang du flytter til en ny post.

  • Hvis datatypen i det felt, som expr udledes af, er et tal, returnerer funktionen DAvg en Datatypen Dobbelt-datatype. Hvis du bruger funktionen DAvg i et beregnet kontrolelement, skal du medtage en funktion til konvertering af datatype i udtrykket for at forbedre ydeevnen.

  • Selvom du kan bruge funktionen DAvg til at bestemme gennemsnitsværdierne i et felt i en fremmed tabel, kan det være mere effektivt at oprette en forespørgsel, som indeholder alle de felter, du har brug for, og derefter basere formularen eller rapporten på denne forespørgsel.

Bemærk: Ændringer af poster, som ikke er gemt, i domæne er ikke medtaget, når du bruger denne funktion. Hvis funktionen DAvg skal baseres på de ændrede værdier, skal du først gemme ændringerne ved at klikke på Gem post under Poster under fanen Data, ved at flytte fokus til en anden post eller ved at bruge metoden Opdater.

Eksempel

Bemærk: I de følgende eksempler demonstreres brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Du kan få yderligere oplysninger om arbejde med VBA ved at vælge Udviklerreference på rullelisten ud for Søg og indtaste et eller flere udtryk i søgeboksen.

Følgende funktion returnerer gennemsnitsfragtomkostningerne for ordrer, der er afsendt på eller efter en bestemt dato. Domænet er en ordretabel. Argumentet kriterier begrænser resultatsættet med poster på basis af det angivne land/område og forsendelsesdatoen, Bemærk, at nøgleordet AND er medtaget i strengen til at adskille felterne i argumentet kriterier. Alle de poster, der er medtaget i beregningen med funktionen DAvg har begge disse kriterier.

Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Double
AvgFreightCost = DAvg("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function

Hvis du vil kalde funktionen, skal du anvende følgende kodelinje i vinduet Immediate:

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

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×