DAvg, functie

U kunt de functie DAvg gebruiken om het gemiddelde te berekenen van een reeks waarden in een opgegeven recordset (een domein). Gebruik de functie DAvg in een Visual Basic for Applications-module (VBA), een macro, een query-expressie of een berekend besturingselement.

U kunt de functie DAvg bijvoorbeeld gebruiken in de criteriarij van een selectiequery op vrachtkosten om de resultaten te beperken tot de records waar de vrachtkosten hoger zijn dan het gemiddelde. Een ander voorbeeld is dat u DAvg gebruikt in een expressie in een berekend besturingselement om de gemiddelde waarde van eerdere orders weer te geven naast de waarde van een nieuwe order.

Syntaxis

DAvg ( expr , domein [, criteria] )

De syntaxis van de functie DAvg bevat deze argumenten:

Argument

Beschrijving

expr

Vereist. Een expressie waarmee u het numerieke veld aangeeft dat de numerieke gegevens bevat waarvan u het gemiddelde wilt berekenen. Dit kan een reeksexpressie zijn waarmee een veld van een tabel of query wordt aangegeven of een expressie die een berekening uitvoert op de gegevens die zich in dat veld bevinden. In expr kunt u de naam van een veld in een tabel opnemen, een besturingselement van een formulier, een constante of een functie. Als expr een functie bevat, kan dit een ingebouwde functie of een door een gebruiker gedefinieerde functie zijn, maar niet een andere statistische domein- of SQL-functie.

domein

Vereist. Een tekenreeksexpressie waarmee de set records wordt aangegeven waaruit het domein bestaat. Dit kan de naam van een tabel zijn of de naam van een query waarvoor geen parameter nodig is.

criteria

Optioneel. Een tekenreeksexpressie die wordt gebruikt om het bereik van de gegevens te beperken waarop de functie DAvg wordt toegepast. Zo bevat het argument criteria vaak dezelfde gegevens als de WHERE-component van een SQL-expressie, maar dan zonder het woord WHERE. Als het argument criteria wordt weggelaten, wordt het argument expr door de functie DAvg gebruikt voor het hele domein. Alle velden die in criteria zijn opgenomen, moeten zich ook in domein bevinden. Anders retourneert DAvg een Null.


Opmerkingen

Records die Null-waarden bevatten, worden niet opgenomen in de berekening van het gemiddelde.

Ongeacht of u de functie DAvg gebruikt in een macro of module, een query-expressie of een berekend besturingselement, is het belangrijk dat u het argument criteria zorgvuldig samenstelt. Alleen dan kan het argument goede resultaten opleveren.

U kunt de functie DAvg gebruiken om criteria op te geven in de criteriarij van een query. Stel dat u een lijst wilt zien met alle producten waarvoor orders openstaan met een hoeveelheid die groter is dan de gemiddelde hoeveelheid van orders. U kunt dan een query maken voor de tabellen Orders, Orderdetails en Producten, en de velden Product Name en Quantity met de volgende expressie toevoegen aan de criteriarij onder het veld Quantity:

>DAvg("[Quantity]", "Orders")

U kunt de functie DAvg ook gebruiken binnen een expressie voor een berekend veld in een query of in de Update To-rij van een bijwerkquery.

Opmerking: U kunt de functie DAvg of Avg gebruiken in een expressie voor een berekend veld in een totalenquery. Als u de functie DAvg gebruikt, vindt de berekening van de waarden plaats voordat de gegevens zijn gegroepeerd. Als u de functie Avg gebruikt, worden de gegevens gegroepeerd voordat het gemiddelde van de waarden in de veldexpressie wordt berekend.

Gebruik de functie DAvg in een berekend besturingselement wanneer u criteria wilt opgeven om het gegevensbereik te beperken waarop de functiewordt uitgevoerd. Als u bijvoorbeeld de gemiddelde vrachtkosten wilt weergeven voor orders die naar Californië worden verzonden, stelt u de eigenschap ControlSource van een tekstvak in op de volgende expressie:

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Als u gewoon het gemiddelde wilt berekenen van alle records in domein, gebruikt u de functie Avg.

U kunt de functie DAvg gebruiken in een module of macro, of in een berekend besturingselement in een formulier als het veld dat u wilt weergeven niet in de recordbron van het formulier staat. Stel dat u een formulier hebt op basis van de tabel Orders en dat u het veld Hoeveelheid uit de tabel Orderdetails wilt toevoegen aan het formulier om het gemiddelde aantal bestelde artikelen weer te geven voor de klant. U kunt dan de functie DAvg gebruiken om deze berekening uit te voeren en de gegevens in het formulier op te nemen.

Tips

  • Als u de functie DAvg gebruikt in een berekend besturingselement, kunt u het besturingselement toevoegen aan de kop- of voettekst van het formulier, zodat de waarde voor dit besturingselement niet steeds opnieuw wordt berekend als u naar een nieuwe record gaat.

  • Als expr wordt afgeleid van een veld van het type Getal, retourneert DAvg het gegevenstype Dubbele precisie. Als u DAvg gebruikt in een berekend besturingselement, kunt u de prestaties verbeteren door een functie voor conversie van het gegevenstype toe te voegen aan de expressie.

  • Hoewel u met DAvg het gemiddelde kunt berekenen van waarden in een veld in een refererende tabel, kan het efficiënter zijn om een query te maken met alle velden die u nodig hebt en vervolgens het formulier of rapport op die query te baseren.

Opmerking: Recordwijzigingen die niet zijn opgeslagen in domein worden niet meegenomen in deze functie. Als u de functie DAvg wilt baseren op de gewijzigde waarden, moet u de wijzigingen eerst opslaan. Ga hiervoor naar het tabblad Gegevens en klik onder Records op Record opslaan. U kunt de wijzigingen ook opslaan door de focus naar een andere record te verplaatsen of de methode Update te gebruiken.

Voorbeeld

Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.

De volgende functie retourneert de gemiddelde vrachtkosten voor orders die op of na een bepaalde datum zijn verzonden. Het domein is de tabel Orders. Het argument criteria beperkt de records op basis van de opgegeven waarden voor land/regio en verzenddatum. Het trefwoord AND is opgenomen in de tekenreeks om de velden van het argument criteria van elkaar te scheiden. Alle records die worden gebruikt voor het berekenen van DAvg voldoen aan beide criteria.

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

U kunt de functie aanroepen met de volgende code in het venster Direct:

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

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×