A DAvg függvénnyel egy adott rekordhalmaz (tartomány) értékhalmazának átlagát számíthatja ki. A DAvg függvény használható egy Visual Basic for Applications (VBA) modulban, makróban, lekérdező kifejezésben vagy számított vezérlőelemben.
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: |
|---|---|
| kif | 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 olyan kifejezés, amely a mezőben található adatokon elvégez egy számítást. A kifejezésben szerepeltetheti egy tábla mezőjének nevét, egy űrlap vezérlőelemét, állandót vagy függvényt. Ha a kifejezés 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 feltételek például gyakran egyenértékűek egy SQL-kifejezés WHERE záradékával a WHERE szó nélkül. Ha a kritérium nincs megadva, a DAvg függvény a teljes tartományon értékeli ki a kifejezést . A feltételben szereplő mezőknek egyben a tartomány mezőinek is kell lenniük; ellenkező esetben a DAvg függvény null értéket ad vissza. |
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, gondosan kell megalkotni a kritérium argumentumot, 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 lekérdezések számítottmező-kifejezéseiben vagy egy frissítő lekérdezés Módosítás sorában is.
Megjegyzés
Az összegző lekérdezések számítottmező-kifejezéseiben 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 átlagolni szeretné a tartomány összes rekordját, használja az Avg függvényt.
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 vissza. 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 kiszámíthatja egy idegen tábla mezőjében található értékek átlagát, 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
Amikor ezt a függvényt használja, a tartomány rekordjainak nem mentett módosításait nem veszi figyelembe az Access. Ha azt szeretné, hogy a DAvg függvény a módosított értékeket vegye alapul, először mentenie kell a módosításokat. Ehhez kattintson az Adatok lap Rekordokcsoportjának Rekord mentése parancsára, vigye a fókuszt másik rekordra, vagy használja az Update metódust.
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 észre, hogy az AND kulcsszó szerepel a karakterláncban, hogy elválassza a több mezőt a kritérium argumentumban. 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#