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. 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. Een tekenreeksexpressie die wordt gebruikt om het gegevensbereik te beperken waarop de functie DSum wordt uitgevoerd. Criteria komen bijvoorbeeld vaak overeen met de WHERE-component in een SQL-expressie, zonder het woord WHERE. Als u criteria weggelaten, evalueert DSum de expr ten opzichte van het hele domein. Alle velden die zijn opgenomen in criteria, moeten ook een veld in het domein zijn. anders retourneert de functie 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: Niet-opgeslagen wijzigingen in records in een domein worden niet opgenomen wanneer u deze functie gebruikt. Als u wilt dat de DSum-functie is gebaseerd op de gewijzigde waarden, moet u de wijzigingen eerst opslaan door op het tabblad Start in de groep Records op Record opslaan te klikken, de focus naar een andere record te verplaatsen of door de methode bij te werken.

Voorbeelden

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

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 een totaal berekend op basis van twee afzonderlijke criteria. In de tekenreeksexpressie worden enkele aanhalingstekens (') en hekjes (#) opgenomen, zodat bij het samenvoegen van de tekenreeksen de letterlijke tekenreeks tussen enkele aanhalingstekens wordt geplaatst en de datum tussen hekjes staat.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK' AND _
[ShippedDate] > #1-1-95#")

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft Office Insiders

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?

Bedankt voor uw feedback.

×