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.