Application.DSum-Methode (Access)

Verwenden Sie die Funktion DSum , um die Summe einer Gruppe von Werten in einer angegebenen Gruppe von Datensätzen (einer Domäne) zu berechnen.

Syntax

Ausdruck. DSum (Expr, Domain, Criteria)

expression Eine Variable, die ein Application-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Expr Erforderlich String Ein Ausdruck, der das numerische Feld identifiziert, dessen Werte summiert werden sollen. Es kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage identifiziert, oder es kann ein Ausdruck sein, der eine Berechnung mit Daten in diesem Feld durchführt. In expr können Sie den Namen eines Felds in einer Tabelle, ein Steuerelement in einem Formular, eine Konstante oder eine Funktion einschließen. Wenn expr eine Funktion enthält, kann sie entweder integriert oder benutzerdefinierte sein, aber keine andere Domänenaggregat- oder SQL-Aggregatfunktion.
Domäne Erforderlich String Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze angibt, die die Domäne bilden. Es kann sich dabei um einen Tabellennamen oder einen Abfragenamen für eine Abfrage handeln, die keinen Parameter benötigt.
Criteria Optional Variant Ein optionaler Zeichenfolgenausdruck, der verwendet wird, um den Bereich von Daten einzuschränken, für den die Funktion DSum durchgeführt wird. Beispielsweise ist criteria oft äquivalent mit der WHERE-Klausel in einem SQL-Ausdruck, ohne das Wort WHERE. Wenn criteria ausgelassen wird, evaluiert die Funktion DSumexpr für die gesamte Domäne. Jedes Feld, das in Kriterien enthalten ist, muss ebenfalls ein Feld in der Domäne sein; Andernfalls gibt die DSum-Funktion einen Null-Wert zurück.

Rückgabewert

Variant

Bemerkungen

Sie können z. B. die DSum-Funktion in einem berechneten Feldausdruck in einer Abfrage verwenden, um den Gesamtumsatz zu berechnen, den ein bestimmter Angestellter in einem Zeitraum gemacht hat. Sie können die DSum-Funktion auch in einem berechneten Steuerelement verwenden, um die laufenden kumulierten Umsätze eines bestimmten Produkts anzuzeigen.

Wenn kein Datensatz das Argument criteria erfüllt oder die Domäne keine Datensätze enthält, gibt die DSum-Funktion einen Null-Wert zurück.

Unabhängig davon, ob Sie die Funktion DSum in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement verwenden, müssen Sie das Argument criteria sorgfältig erstellen, um sicherzustellen, dass es ordnungsgemäß ausgewertet wird.

Verwenden Sie die Funktion DSum , um Kriterien in der Zeile Kriterien einer Abfrage, in einem berechneten Feld in einem Abfrageausdruck oder in der Zeile Aktualisieren auf einer Updateabfrage anzugeben.

Hinweis

Verwenden Sie entweder die Funktion DSum oder Sum in einem berechneten Feldausdruck in einer Summenabfrage. Wenn Sie DSum verwenden, werden die Werte berechnet, bevor die Daten gruppiert werden. Wenn Sie die Sum -Funktion verwenden, werden die Daten gruppiert, bevor die Werte im Feldausdruck ausgewertet werden.

Sie sollten DSum verwenden, wenn Sie die Summe einer Gruppe von Werten, die sich nicht in der Datenherkunft Ihres Berichts befindet, anzeigen möchten. Nehmen Sie z.B. an, ein Formular zeigt Informationen über ein bestimmtes Produkt an. Sie können DSum verwenden, um die Zwischensummen der Umsätze mit diesem Produkt in einem berechneten Steuerelement anzuzeigen.

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

Beispiel

Im folgenden Beispiel werden die Werte aus dem Feld Fracht für Bestellungen summiert, die in das Vereinigte Königreich versendet wurden. The domain is an Orders table. Das Argument criteria schränkt den resultierenden Satz von Datensätzen auf diejenigen ein, für die ShipCountry gleich UK ist.

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

Das nächste Beispiel berechnet eine Summe mit zwei unterschiedlichen Kriterien. Der Zeichenfolgenausdruck enthält Hochkommas (') und #-Zeichen, sodass bei der Verkettung der Zeichenfolgen das Zeichenfolgenliteral in Hochkommas und das Datum in #Zeichen gesetzt wird.

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

Sie folgenden Beispiele zeigen wie verschiedene Typen von Kriterien mit der Funktion DSum verwendet werden.

    ' ***************************
    ' Typical Use
    ' Numerical values. Replace "number" with the number to use.
    variable = DSum("[FieldName]", "TableName", "[Criteria] = number")

    ' Strings.
    ' Numerical values. Replace "string" with the string to use.
    variable = DSum("[FieldName]", "TableName", "[Criteria]= 'string'")

    ' Dates. Replace "date" with the string to use.
    variable = DSum("[FieldName]", "TableName", "[Criteria]= #date#")
    ' ***************************

    ' ***************************
    ' Referring to a control on a form
    ' Numerical values
    variable = DSum("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)

    ' Strings
    variable = DSum("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")

    ' Dates
    variable = DSum("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
    ' ***************************

    ' ***************************
    ' Combinations
    ' Multiple types of criteria
    variable = DSum("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
             & " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
            & " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
    
    ' Use two fields from a single record.
    variable = DSum("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
            
    ' Expressions
    variable = DSum("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
    
    ' Control Structures
    variable = DSum("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
    ' ***************************

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.