DSum, functie

U kunt de functie DSum gebruiken om de som te berekenen van een verzameling waarden in een opgegeven recordset (een domein). Gebruik de functie DSum in een Visual Basic for Applications-module (VBA), een macro, een query-expressie of een berekend besturingselement.

Zo kunt u de functie DSum gebruiken in een berekende veldexpressie van een query om de totale verkoop over een bepaalde periode van een bepaalde werknemer te berekenen. Of u kunt DSum gebruiken in een berekend besturingselement om het lopende totaal van de verkoop van een bepaald product weer te geven.

Syntaxis

DSum ( expr , domein [, criteria] )

De syntaxis van de functie DSum bevat de volgende argumenten:

Argument

Beschrijving

expr

Vereist. Dit is een expressie waarmee u het numerieke veld kunt aangeven waarvan u de som van alle waarden wilt zien. Dit kan een reeksexpressie zijn waarmee een veld van een tabel of query wordt aangegeven of een expressie die een berekening uitvoert op de gegevens die zich in dat veld bevinden. In expr kunt u de naam van een veld in een tabel opnemen, een besturingselement van een formulier, een constante of een functie. Als expr een functie bevat, kan dit een ingebouwde functie of een door een gebruiker gedefinieerde functie zijn, maar niet nog een statistische domein- of SQL-functie.

domein

Vereist. Dit is een tekenreeksexpressie waarmee de set records wordt aangegeven waaruit het domein bestaat. Dit kan de naam van een tabel zijn of de naam van een query waarvoor geen parameter nodig is.

criteria

Optioneel. Dit is een tekenreeksexpressie die wordt gebruikt om het bereik van de gegevens die voor de functie DSum worden gebruikt te beperken. Zo bevat het argument criteria vaak dezelfde gegevens als de WHERE-component van een SQL-expressie, maar dan zonder het woord WHERE. Als het argument criteria wordt weggelaten, wordt het argument expr door de functie DSum gebruikt voor het hele domein. Alle velden die in de criteria zijn opgenomen, moeten zich ook in het domein bevinden. Anders retourneert DSum een Null.


Opmerkingen

Als geen enkele record voldoet aan het argument criteria of als het domein geen records bevat, retourneert DSum een Null.

U moet de criteria zorgvuldig samenstellen, of u de functie DSum nu gebruikt in een macro, een module, een query-expressie of een berekend besturingselement. Alleen zo kan het argument goede resultaten opleveren.

U kunt de functie DSum gebruiken om de criteria op te geven voor de rij Criteria van een query, een berekend veld van een query of in de rij Wijzigen in van een bijwerkquery.

Opmerking: U kunt de functie DSum of Sum gebruiken in een berekende veldexpressie van een totalenquery. Als u de functie DSum gebruikt, vindt de berekening van de waarden plaats voordat de gegevens zijn gegroepeerd. Als u de functie Sum gebruikt, worden de gegevens gegroepeerd voordat de waarden van de veldexpressie zijn geëvalueerd.

U kunt de functie DSum eventueel gebruiken om de som van een verzameling waarden weer te geven van een veld dat zich niet in de bron van de record van uw formulier of rapport bevindt. U hebt bijvoorbeeld een formulier waarop de informatie van een bepaald product wordt weergegeven. U kunt dan de functie DSum gebruiken om het lopende totaal van de verkopen van dat product in een berekend besturingselement bij te houden.

Tip

Gebruik de eigenschap RunningSum van het desbetreffende besturingselement om een lopend totaal bij te houden in een besturingselement, als het veld waarop het is gebaseerd is opgenomen in de recordbron van het rapport. Gebruik de functie DSum om een lopend totaal bij te houden in een formulier.

Opmerking: Recordwijzigingen die niet zijn opgeslagen in domein worden niet meegenomen in deze functie. Als u de functie DSum op gewijzigde waarden wilt baseren, moet u de wijzigingen eerst opslaan. Ga naar het tabblad Start en klik in de groep Records op Record opslaan. U kunt ook de focus op een andere record plaatsen of de methode Update gebruiken.

Voorbeelden

De functie DSum gebruiken in een expressie    U kunt een domeinfunctie (zoals DSum) gebruiken in de rij Wijzigen in van een bijwerkquery. U wilt bijvoorbeeld de huidige verkopen per product bijhouden in de tabel Producten. Dan kunt u een nieuw veld toevoegen aan de tabel Producten met de naam VerkoopTotHeden en een bijwerkquery uitvoeren om de juiste waarden te berekenen en de records bij te werken. Maak hiervoor een nieuwe query die gebaseerd is op de tabel Producten. Ga naar het tabblad Ontwerpen en klik in de groep Querytype op Bijwerken. Voeg het veld VerkoopTotHeden toe aan het queryraster en typ het volgende in de rij Wijzigen in:

DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])

Als u de query uitvoert, wordt het totale aantal verkopen door Access per product berekend op basis van informatie die afkomstig is uit de tabel Orderinformatie. Het totaal aantal verkopen per product wordt aan de tabel Producten toegevoegd.

DSum gebruiken in VBA-code    

Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.

In het volgende voorbeeld vindt u de som van de waarden van het veld Vrachtkosten voor orders die naar het Verenigd Koninkrijk zijn verzonden. Het domein is de tabel Orders. Het argument criteria beperkt het resultaat tot een recordset waarvan Verzendland/-regio gelijk is aan UK.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

In het volgende voorbeeld wordt het totaal berekend door middel van twee afzonderlijke criteria. In de tekenreeks zijn enkele aanhalingstekens (') en hekjes (#) opgenomen. Zo wordt de letterlijke tekenreeks tussen aanhalingstekens geplaatst bij het samenvoegen van de tekenreeksen en de datum tussen pondtekens.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK' AND _
[ShippedDate] > #1-1-95#")
Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×