Applies ToAccess för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan använda funktionen DMedel för att beräkna medelvärdet för en uppsättning värden i en given uppsättning poster (en domän). Använd funktionen DMedel i en VBA-modul (Visual Basic for Applications), en makro, ett frågeuttryck eller en beräknad kontroll.

Du kan till exempel använda funktionen DMedel i villkorsraden i en urvalsfråga om fraktkostnad för att begränsa resultatet till de poster där fraktkostnaden överskrider medelvärdet. Du kan också använda ett uttryck som innehåller funktionen DMedel i en beräknad kontroll och visa det genomsnittliga värdet av tidigare order intill värdet för en ny order.

Syntax

DMedel ( uttr , domän [, villkor] )

Funktionssyntaxen DMedel har följande argument:

Argument

Beskrivning

uttr

Obligatoriskt. Ett uttryck där du identifierar det fält som innehåller de numeriska värden du vill beräkna medelvärdet för. Det kan vara ett stränguttryck där du identifierar ett fält i en tabell eller en fråga, eller ett uttryck där du utför en beräkning på data i fältet. I uttr kan du ta med namnet på ett fält i en tabell, en kontroll i ett formulär, en konstant eller en funktion. Om uttr innehåller en funktion kan den vara antingen inbyggd eller användardefinierad, men inte någon annan mängdfunktion för domäner eller en SQL-mängdfunktion.

domän

Obligatoriskt. Ett stränguttryck där du identifierar den uppsättning poster som utgör domänen. Det kan vara ett tabellnamn eller ett frågenamn för en fråga som inte kräver någon parameter.

villkor

Valfritt. Ett stränguttryck som används för att begränsa det dataintervall som DMedel körs på. Till exempel motsvarar villkor ofta WHERE-satsen i ett SQL-uttryck, utan ordet WHERE. Om villkor utelämnas så utvärderas uttr i funktionen DMedel mot hela domänen. Alla fält som ingår i villkor måste också vara fält i domän, annars returnerar funktionen DMedelNull.

Anmärkningar

Poster som innehåller Null-värden tas inte med i beräkningen av medelvärdet.

Oavsett om du använder funktionen DMedel i ett makro eller i en modul, i ett frågeuttryck eller i en beräknad kontroll, måste du vara noga när du skapar argumentet villkor så att det utvärderas på rätt sätt.

Du kan använda funktionen DMedel för att ange villkor i raden Villkor i en fråga. Anta till exempel att du vill visa en lista över alla produkter som beställts i större antal än det genomsnittliga antalet. Du kan skapa en fråga med tabellerna Orders, Order Details och Products och ta med fältet Product Name och fältet Quantity med följande uttryck i raden Villkor under fältet Quantity:

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

Du kan också använda funktionen DMedel i ett beräknat fältuttryck i en fråga eller i raden Ändra till i en uppdateringsfråga.

Obs!: Du kan använda antingen funktionen DMedel eller Medel i ett beräknat fältuttryck i en summafråga. Om du använder funktionen DMedel beräknas värdena innan data grupperas. Om du använder funktionen Medel grupperas data innan värdena i fältuttrycket beräknas.

Använd funktionen DMedel i en beräknad kontroll när du behöver ange villkor för att begränsa det dataområde som funktionen DMedel utförs på. Om du till exempel vill visa den genomsnittliga fraktkostnaden för en order som levereras till Kalifornien anger du egenskapen Kontrollkälla för en textruta till följande uttryck:

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

Om du bara vill beräkna medelvärdet för alla poster i domän, använder du funktionen Medel.

Du kan använda funktionen DMedel i en modul eller i ett makro, eller i en beräknad kontroll i ett formulär om det fält som du vill visa inte finns i den datakälla som formuläret baseras på. Anta att du har ett formulär som baseras på tabellen Orders och du vill ta med fältet Quantity från tabellen Order Details för att kunna visa genomsnittligt antal produkter som beställts av en viss kund. Du kan använda funktionen DMedel för att utföra denna beräkning och visa data i formuläret.

Tips

  • Om du använder funktionen DMedel i en beräknad kontroll, kanske du vill placera kontrollen i formulärhuvudet eller formulärfoten så att värdet för den här kontrollen inte beräknas om varje gång du flyttar till en ny post.

  • Om datatypen för det fält som uttr kommer från härleds är ett tal, returnerar DMedel datatypen Double. Om du använder funktionen DMedel i en beräknad kontroll, ska du ta med en funktion för konvertering av datatyper i uttrycket för att förbättra prestanda.

  • Även om du kan använda funktionen DMedel för att visa genomsnittet av värden i ett fält i en sekundärtabell, kan det vara mer effektivt att skapa en fråga som innehåller alla de fält du behöver och sedan basera formuläret eller rapporten på den frågan.

Obs!: Ej sparade ändringar av poster i domän tas inte med när du använder den här funktionen. Om du vill att funktionen DMedel ska baseras på ändrade värden, måste du först spara ändringarna genom att klicka på Spara post under Poster på fliken Data och flytta fokus till en annan post, eller använda metoden Uppdatera.

Exempel

Obs!: I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.

Följande funktion returnerar genomsnittlig fraktkostnad för order som levererats på eller efter ett angivet datum. Domänen är tabellen Orders. Argumentet villkor begränsar den resulterande uppsättningen poster baserat på ett visst land eller en viss region samt leveransdatum. Observera att nyckelordet OCH ingår i strängen för att separera flera fält i argumentet villkor. Alla poster som ingår i beräkningen av funktionen DMedel har båda dessa 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

Använd följande rad med kod i kommandofönstret för att anropa funktionen:

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

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.