DSum-Funktion (DomSumme)

Sie können mithilfe der DSum-Funktion die Summe einer Gruppe von Werten in einer bestimmten Menge von Datensätzen (einer Domäne) berechnen. Verwenden Sie die DSum-Funktion in einem VBA-Modul (Visual Basic for Applications), einem Makro, einem Abfrageausdruck oder einem berechneten Steuerelement.

So können Sie beispielsweise die DSum-Funktion in einem berechneten Feldausdruck in einer Abfrage verwenden, um den Gesamtumsatz zu berechnen, der von einem bestimmten Mitarbeiter über einen bestimmten Zeitraum erzielt wurde. Oder Sie können die DSum-Funktion in einem berechneten Steuerelement verwenden, um eine laufende Summe von Umsätzen für ein bestimmtes Produkt anzuzeigen.

Syntax

DSum ( Ausdruck ; Domäne [; Kriterien] )

Die Syntax der DSum-Funktion weist die folgenden Argumente auf:

Argument

Beschreibung

Ausdruck

Erforderlich. Ein Ausdruck, der das numerische Feld angibt, dessen Werte Sie addieren möchten. Es kann sich um einen Zeichenfolgenausdruck handeln, der ein Feld in einer Tabelle oder Abfrage angibt, oder um einen Ausdruck, der für die Daten in diesem Feld eine Berechnung durchführt. Sie können in Ausdruck den Namen eines Felds in einer Tabelle, ein Steuerelement in einem Formular, eine Konstante oder eine Funktion einfügen. Wenn Ausdruck eine Funktion enthält, kann es sich um eine integrierte oder um eine benutzerdefinierte Funktion handeln, aber nicht um ein anderes Domänenaggregat oder eine SQL-Aggregatfunktion.

Domäne

Erforderlich. Ein Zeichenfolgenausdruck, der die Gruppe von Datensätzen angibt, die die Domäne bilden. Es kann sich um einen Tabellennamen oder um einen Abfragenamen für eine Abfrage handeln, die keinen Parameter erfordert.

Kriterien

Optional. Ein Zeichenfolgenausdruck zur Beschränkung des Datenbereichs, für den die DSum-Funktion ausgeführt wird. Kriterien entspricht z. B. häufig der WHERE-Klausel in einem SQL-Ausdruck, ohne das Wort "WHERE". Wenn Kriterien nicht angegeben wird, wertet die DSum-Funktion Ausdruck für die gesamte Domäne aus. Ein in Kriterien angegebenes Feld muss auch in Domäne enthalten sein. Andernfalls gibt die DSum-Funktion einen Nullwert zurück.


Anmerkungen

Wenn kein Datensatz die Bedingungen des Arguments Kriterien erfüllt oder wenn "Domäne" keine Datensätze enthält, gibt die DSum-Funktion Null zurück.

Unabhängig davon, ob Sie die DSum-Funktion in einem Makro, Modul, Abfrageausdruck oder berechneten Steuerelement verwenden, müssen Sie das Argument Kriterien sorgfältig erstellen, damit es korrekt ausgewertet wird.

Sie können die DSum-Funktion verwenden, um Kriterien in der Zeile Kriterien einer Abfrage, einem berechneten Feld in einem Abfrageausdruck oder in der Zeile Aktualisieren einer Aktualisierungsabfrage anzugeben.

Hinweis : Sie können die DSum- oder Summe-Funktion in einem berechneten Feldausdruck einer Gesamtsummenabfrage verwenden. Wenn Sie die DSum-Funktion verwenden, werden Werte berechnet, bevor die Daten gruppiert werden. Wenn Sie die Summe-Funktion verwenden, werden die Daten gruppiert, bevor Werte im Feldausdruck ausgewertet werden.

Möglicherweise möchten Sie die DSum-Funktion verwenden, wenn Sie die Summe einer Gruppe von Werten aus einem Feld anzeigen müssen, das in der Datensatzquelle für Ihr Formular oder Ihren Bericht nicht enthalten ist. Nehmen Sie beispielsweise an, dass Sie ein Formular haben, in dem Informationen zu einem bestimmten Produkt angezeigt werden Mithilfe der DSum-Funktion können Sie eine laufende Summe der Umsätze für dieses Produkt in einem berechneten Steuerelement verwalten.

Tipp

Wenn Sie eine laufende Summe in einem Steuerelement in einem Bericht verwalten müssen, können Sie die Eigenschaft "RunningSum" dieses Steuerelements verwenden, wenn das Feld, auf dem es basiert, in der Datensatzquelle für den Bericht enthalten ist. Mithilfe der DSum-Funktion können Sie eine laufende Summe in einem Formular verwalten.

Hinweis : Bei Verwendung dieser Funktion werden nicht gespeicherte Änderungen an Datensätzen in Domäne nicht berücksichtigt. Wenn die DSum-Funktion auf den geänderten Werten basieren soll, müssen Sie die Änderungen zunächst speichern, indem Sie entweder auf der Registerkarte Start in der Gruppe Datensätze auf Datensatz speichern klicken, damit der Fokus zu einem anderen Datensatz wechselt, oder indem Sie die Methode Aktualisieren verwenden.

Beispiele

Verwenden der DSum-Funktion in einem Ausdruck    – Sie können eine Domänenfunktion (z. B. DSum) in der Zeile Aktualisieren einer Aktualisierungsabfrage verwenden. Nehmen Sie beispielsweise an, dass Sie die aktuellen Umsätze nach Produkt in einer Tabelle "Produkt" nachverfolgen möchten. Sie könnten der Tabelle "Produkt" das neue Feld "UmsätzeBisJetzt" hinzufügen und dann eine Aktualisierungsabfrage durchführen, um die richtigen Werte zu berechnen und die Datensätze zu aktualisieren. Zu diesem Zweck erstellen Sie eine neue Abfrage auf der Grundlage der Tabelle "Produkt" und klicken dann auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Aktualisieren. Fügen Sie das Feld "UmsätzeBisJetzt" dem Abfragebereich hinzu, und geben Sie in der Zeile Aktualisieren Folgendes ein:

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

Wenn Sie die Abfrage ausführen, berechnet Access die Gesamtsumme der Umsätze für jedes Produkt anhand der Informationen aus der Tabelle "Order Details". Die Summe der Umsätze für jedes Produkt wird der Tabelle "Produkte" hinzugefügt.

Verwenden von DSum in VBA-Code    

Hinweis : Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

Im folgenden Beispiel werden die Werte aus dem Feld "Freight" für Bestellungen addiert, die in Großbritannien (United Kingdom, UK) zum Versand kommen. Als Domäne wird die Tabelle "Orders" verwendet. Das Argument Kriterien beschränkt die resultierenden Datensätze auf solche, bei denen für "ShipCountryRegion" der Wert "UK" angegeben ist.

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

Im nächsten Beispiel wird eine Summe anhand von zwei separaten Kriterien berechnet. Beachten Sie, dass im Zeichenfolgenausdruck einfache Anführungszeichen (') und Nummernzeichen (#) enthalten sind. Der Grund: Wenn die Zeichenfolgen verkettet werden, wird das Zeichenfolgenliteral in einfache Anführungszeichen gesetzt und das Datum in Nummernzeichen.

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

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×