DSum függvény

Hatókör
Microsoft 365-höz készült Access Access 2024 Access 2021 Access 2019 Access 2016

A DSum függvénnyel kiszámíthatja egy adott rekordhalmaz (tartomány) értékeinek összegét. A DSum függvényt Visual Basic for Applications (VBA) modulban, makróban, lekérdezési kifejezésben vagy számított vezérlőelemben használhatja.

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 [, kritérium] )

A DSum függvény argumentumai a következők:

Argumentum Leírás:
kif Kötelező. Olyan kifejezés, amely megadja azt a numerikus mezőt, amelynek értékeit összegezni szeretné. Ez lehet egy tábla vagy lekérdezés egy mezőjét azonosító sztringkifejezés, vagy egy olyan kifejezés, amely számítást végez az adott mező adatain. 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.

A DSum függvénnyel feltételeket adhat meg egy lekérdezés Feltétel sorában, egy lekérdezési kifejezés számított mezőjében vagy egy frissítő lekérdezés Frissítés sorában.

Megjegyzés

Egy összegző lekérdezésben használhatja a DSum vagy a Sum függvényt egy számított mező kifejezésében. 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ésben Tartományfüggvényt (például DSum) használhat a frissítő lekérdezés Frissítés sorában. 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.

DSum 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#")