A DSum függvénnyel kiszámolható a megadott rekordkészletben (tartományban) lévő értékek egy halmazának az összege. A DSum függvény használható VBA-modulokban, makrókban, lekérdező kifejezésekben és számított vezérlőelemekben.
Egy lekérdezés számított mezőkifejezésében a DSum függvénnyel például kiszámíthatja, hogy mennyit értékesített egy adott alkalmazott egy időszakban. Egy számított vezérlőelemben pedig a DSum függvénnyel megjelenítheti egy adott termék értékesítéseinek futóösszegét.
Szintaxis
DSum ( kifejezés ; tartomány [; feltétel] )
A DSum függvény argumentumai a következők:
Argumentum |
Leírás |
kifejezés |
Kötelező. Olyan kifejezés, amely megadja azt a numerikus mezőt, amelynek értékeit összegezni szeretné. 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 DSum függvényt. A feltétel 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 feltétel argumentum nincs megadva, a DSum függvény a teljes tartományon értékeli ki a kifejezés argumentumot. A feltétel argumentumban megadott mezőknek benne kell lenniük a tartományban, különben a DSum függvény eredménye null |
Megjegyzések
Ha nincs olyan rekord, amely megfelel a feltétel argumentumnak, vagy ha a tartomány nem tartalmaz rekordot, akkor a DSum függvény null értéket ad.
Akár makróban, modulban, lekérdező kifejezésben vagy számított vezérlőelemben használja a DSum függvényt, a feltétel argumentumot gondosan kell megalkotni, hogy az Access megfelelően értékelje ki a függvényt.
Használhatja a DSum függvényt egy lekérdezés Feltétel sorában a feltételek megadására, lekérdező kifejezés számított mezőjében, vagy 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 DSum és a Sum függvényt is használhatja. Ha a DSum függvényt használja, akkor az értékek kiszámítása még az adatok csoportosítása előtt megtörténik. Ha a Sum 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 kiértékelése.
Használhatja a DSum függvényt, amikor olyan mező bizonyos értékeinek összegét szeretné megjeleníteni, amely nem az űrlaphoz vagy jelentéshez tartozó rekordforrásban van. Tegyük fel például, hogy van egy űrlapja, amely adatokat jelenít meg egy termékről. Ebben az esetben a DSum függvénnyel futóösszeget vezethet egy számított vezérlőelemben a termék értékesítéseiről.
Tipp
Ha jelentésben lévő vezérlőelemben kell futóösszeget számítania, használhatja a vezérlőelem Futóösszeg tulajdonságát, ha a mező, amelyen alapul, benne van a jelentés rekordforrásában. A DSum függvénnyel űrlapon jelenítheti meg a futóösszeget.
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 DSum függvény a módosított értékeken alapuljon, először mentse a módosításokat úgy, hogy a Kezdőlap lap Rekordok csoportjában a Rekord mentése gombra kattint, a fókuszt egy másik rekordra helyezi, vagy az Update metódust használja.
Példák
A DSum függvény használata kifejezésekben: Adatfrissítő lekérdezés Módosítás sorában használhat tartományfüggvényt (amilyen aDSum). Tegyük fel például, hogy nyomon szeretné követni az értékesítéseket, méghozzá a Termékek táblában lévő termékek szerint. Ekkor a Termékek táblához hozzáadhat egy EddigiÉrtékesítés nevű új mezőt, és az értékek kijavítására és a rekordok frissítésére futtathat egy frissítő lekérdezést. Ehhez hozzon létre egy lekérdezést, amely a Termékek táblán alapul, és a Tervezés lap Lekérdezés típusa csoportjában kattintson a Frissítő gombra. Adja az EddigiÉrtékesítés mezőt a lekérdezőrácshoz, és írja be a következőt a Módosítás sorba:
DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])
A lekérdezés futásakor az Access minden termékre kiszámítja az értékesítések összegét a Rendelés részletei táblában levő adatok alapján. Az egyes termékekhez tartozó értékesítési összegek ezután a Termékek táblába kerülnek.
A DSum függvény használata VBA-kódban
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 példában az Egyesült Királyságba szállított szállítmányok Szállítási költség mezőjében lévő értékének összegét kapja eredményül. A tartomány a Rendelések táblának felel meg. A feltétel argumentum azokra a rekordokra korlátozza a rekordkészletet, amelyekben „UK” a SzállításiOrszágTerület mező értéke.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'")
A következő példa két külön feltétel alapján kiszámítja az összeget. Vegye észre, hogy a karakterlánc-kifejezés aposztrófokat (') és kettős kereszteket (#) tartalmaz, hogy a karakterláncok összefűzése után a karakterlánc-literál aposztrófok között legyen, és a dátumot kettős keresztek fogják közre.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK' AND _ [ShippedDate] > #1-1-95#")