Du kan använda funktionen DMedel för att beräkna medelvärdet för en uppsättning värden i en angiven uppsättning poster (en domän). Använd funktionen DMedel i en VBA-modul (Visual Basic for Applications), i ett makro, i ett frågeuttryck eller i 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(uttryck; 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 som identifierar ett fält i en tabell eller fråga, eller ett uttryck som 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 funktionen DMedel utförs på. Villkor motsvarar till exempel ofta WHERE-satsen i ett SQL-uttryck, utan ordet WHERE. Om villkor utelämnas kommer funktionen DMedel att utvärdera uttr mot hela domänen. Alla fält som ingår i villkor måste också vara ett fält i domän. annars returnerar funktionen DMedel ett Null-värde. |
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 en modul, i ett frågeuttryck eller i en beräknad kontroll, måste du vara noga när du skapar villkorsargumentet 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änen använder du funktionen Medel (AVG ).
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 funktionen 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 fastställa medelvärdet 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 fält du behöver och sedan basera formuläret eller rapporten på den frågan.
Obs
Ej sparade ändringar av poster i domänen 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. Villkorsargumentet begränsar den resulterande uppsättningen poster baserat på ett visst land/en viss region samt leveransdatum. Observera att nyckelordet AND ingår i strängen för att avgränsa fälten i villkorsargumentet . 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#