A DAvg függvénnyel kiszámolható a megadott rekordkészletben (tartományban) lévő értékek egy halmazának az átlaga. A DAvg függvény használható VBA-modulokban, makrókban, lekérdező kifejezésekben és számított vezérlőelemekben.
A DAvg függvény használható például egy szállítási költségre vonatkozó választó lekérdezés egy kritériumsorában arra, hogy azokra a rekordokra szűkítse le az eredményt, amelyekben a szállítási költség meghaladja az átlagot. Vagy használhat egy a DAvg függvényt tartalmazó kifejezést számított vezérlőelemben, és az új rendelés értéke mellett megjelenítheti az előző rendelések átlagos értékét.
Szintaxis
DAvg ( kifejezés , tartomány [, kritérium] )
A DSum függvény argumentumai a következők:
Argumentum |
Leírás |
kifejezés |
Kötelező. Olyan kifejezés, amely megadja az átlagolni kívánt numerikus adatot tartalmazó mezőt. Lehet olyan karakterlánc-kifejezés, amely megadja egy tábla vagy lekérdezés egy mezőjét, vagy lehet egy olyan kifejezés, amely a mezőben található adatokon elvégez egy számítást. A kifejezés argumentum tartalmazhatja egy tábla mezőjének nevét, egy űrlap vezérlőelemét, állandót vagy függvényt. Ha a kifejezés argumentum függvényt tartalmaz, akkor az lehet beépített és felhasználó által megadott függvény is, de másik tartományösszesítő vagy összesítő SQL-függvény nem. |
tartomány |
Kötelező. Olyan karakterlánc-kifejezés, amely meghatározza a tartományt alkotó rekordok készletét. Lehet táblanév vagy olyan lekérdezés neve, amelyhez nem szükséges paramétert megadni. |
kritérium |
Nem kötelező. Olyan karakterlánc-kifejezés, amellyel megadja, hogy mely adatokra kell alkalmazni a DAvg függvényt. A kritérium argumentum például gyakran egyenértékű egy SQL-kifejezés WHERE záradékával a WHERE szó nélkül. Ha a kritérium argumentum nincs megadva, a DAvg függvény a teljes tartományon értékeli ki a kifejezés argumentumot. A kritérium argumentumban megadott mezőknek benne kell lenniük a tartományban, különben a DAvg függvény eredménye Null. |
Megjegyzés
Az átlagba nem számítanak be a Null értékű rekordok.
Akár makróban, modulban, lekérdező kifejezésben vagy számított vezérlőelemben használja a DAvg függvényt, a kritérium argumentumot gondosan kell megalkotni, hogy az Access megfelelően értékelje ki a függvényt.
A DAvg függvény például használható egy lekérdezés Kritérium sorában lévő feltételek megadására. Tegyük fel, hogy meg szeretné tekinteni azoknak a termékeknek a listáját, amelyekből az átlagos rendelési mennyiségnél nagyobb mennyiségben rendeltek. Létrehozhat egy lekérdezést a Rendelések, a Rendelés részletei és a Termékek táblára, és beillesztheti a Terméknév és a Mennyiség mezőt úgy, hogy az alábbi kifejezést írja a Kritérium sorba a Mennyiség mező alatt:
>DAvg("[Quantity]", "Orders")
A DAvg függvényt használhatja egy lekérdezés számítottmező-kifejezésében vagy egy frissítő lekérdezés Módosítás sorában.
Megjegyzés: Egy összegző lekérdezés számítottmező-kifejezésében a DAvg és az Avg függvényt is használhatja. Ha a DAvg függvényt használja, akkor az értékek átlagának kiszámítása még az adatok csoportosítása előtt megtörténik. Ha az Avg függvényt használja, akkor az adatok csoportosítása megy végbe először, és ezután következik a mezőkifejezések átlagának kiszámítása.
Egy számított vezérlőelemben akkor használja a DAvg függvényt, ha meg kell adnia a kritérium argumentumot annak az adattartománynak a korlátozására, amelyre alkalmazni szeretné a DAvg függvényt. Ha például meg szeretné jeleníteni a Pest megyei rendelések átlagos szállítási díját, állítsa a szövegmező Mező vagy kifejezés tulajdonságát a következő kifejezésre:
=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Ha egyszerűen a tartományban található összes rekord átlagát szeretné megkapni, az Avg függvényt használja.
Használhatja az DAvg függvényt egy modulban vagy makróban vagy űrlapon lévő számított vezérlőelemben, ha a megjelenítendő mező nem abban a rekordforrásban van, amelyen az űrlap alapul. Tegyük fel, hogy van egy űrlapja, amely a Rendelések táblán alapul, és szeretné belevenni a Rendelések részletei tábla Mennyiség mezőjét azért, hogy megjelenítse egy adott vásárló által rendelt tételek átlagos számát. A számításra és az adatoknak az űrlapon való megjelenítésére használhatja a DAvg függvényt.
Tippek
-
Ha számított vezérlőelemben használja a DAvg függvényt, akkor érdemes a vezérlőelemet az űrlapfejre vagy az űrlaplábra helyezni annak érdekében, hogy ne számítsa ki a rendszer a vezérlőelem értékét minden alkalommal, amikor új rekordra lép.
-
Ha szám az adattípusa annak a mezőnek, amelyből a kifejezés létrejött, a DAvg függvény Dupla adattípusú értéket ad. Ha számított vezérlőelemben használja a DAvg függvényt, a hatékonyság javítása érdekében helyezzen adattípus-konverziós függvényt a kifejezésbe.
-
Bár a DAvg függvénnyel is kiszámítható egy idegen tábla mezőjében lévő értékek átlaga, valószínűleg hatékonyabb létrehozni egy lekérdezést, amely tartalmazza az összes szükséges mezőt, majd az űrlapot vagy jelentést erre a lekérdezésre alapozni.
Megjegyzés: A tartomány rekordjainak nem mentett módosításai nem szerepelnek a függvény használatakor. Ha azt szeretné, hogy a DAvg függvény a módosított értékeken alapuljon, először mentenie kell a módosításokat az Adatok lap Rekordok csoportjában a Rekord mentése gombra kattintva, a fókusz másik rekordra való áthelyezésével vagy az Update metódussal.
Példa
Megjegyzés: A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.
Az alábbi függvény azoknak a rendeléseknek az átlagos szállítási költségét számítja ki, amelyeket egy adott napon vagy azután szállítottak ki. A tartomány a Rendelések táblának felel meg. A kritérium argumentum korlátozza az eredményül kapott rekordkészletet az adott ország/terület, illetve a szállítási dátum alapján. Vegye figyelembe, hogy a kritérium argumentum mezőinek elválasztására az AND kulcsszó kerül a karakterláncba. A DAvg függvényt tehát azokra a rekordokra alkalmazza a program, amelyekre mindkét feltétel teljesül.
Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _ ByVal dteShipDate As Date) As Double AvgFreightCost = DAvg("[Freight]", "Orders", _ "[ShipCountryRegion] = '" & strCountryRegion & _ "'AND [ShippedDate] >= #" & dteShipDate & "#") End Function
A függvény meghívására a következő kódsort használja az Immediate ablakban:
:AvgFreightCost "UK", #1/1/96#