Applies ToAccess voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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 gegevens te beperken waarop de DAvg-functie wordt uitgevoerd. Criteria is bijvoorbeeld vaak gelijk aan de WHERE-component in een SQL-expressie, zonder het woord WHERE. Als criteria worden weggelaten, evalueert de functie DAvgexpr op basis van het hele domein. Elk veld dat is opgenomen in criteria moet ook een veld in domein zijn; anders retourneert de functie 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: Niet-opgeslagen wijzigingen in records in domein worden niet opgenomen wanneer u deze functie gebruikt. Als u wilt dat de functie DAvg is gebaseerd op de gewijzigde waarden, moet u de wijzigingen eerst opslaan door te klikken op Record opslaan onder Records op het tabblad Gegevens , de focus naar een andere record te verplaatsen of door 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#

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.