Sum-Funktion (Microsoft Access SQL)
Gilt für: Access 2013 | Access 2016
Gibt die Summe einer Menge von Werten zurück, die in einem bestimmten Feld einer Abfrage enthalten sind.
Syntax
Sum(expr)
Der Platzhalter Ausdr stellt einen Zeichenfolgenausdruck dar, der das Feld mit den hinzuzufügenden numerischen Daten identifiziert, oder einen Ausdruck, der mit den Daten in diesem Feld eine Berechnung durchführt. Operanden in Ausdr können den Namen eines Tabellenfelds, eine Konstante oder eine Funktion einschließen (wobei es sich entweder um eine systeminterne oder benutzerdefinierte Funktion handeln kann, jedoch nicht um eine der anderen SQL-Aggregatfunktionen).
Hinweise
Mit der Sum-Funktion werden die Werte in einem Feld summiert. Sie können mit der Sum-Funktion beispielsweise die Gesamtfrachtkosten ermitteln.
Die Funktion Summe ignoriert Datensätze, die Null-Felder enthalten. Das folgende Beispiel zeigt, wie Sie die Summe der Produkte der Felder UnitPrice und Quantity berechnen können:
SELECT
Sum(UnitPrice * Quantity)
AS [Total Revenue] FROM [Order Details];
Verwenden Sie die Funktion Summe in einem Abfrageausdruck. Sie können diesen Ausdruck auch in der SQL-Eigenschaft eines QueryDef-Objekts verwenden oder beim Erstellen eines Recordset-Objekts, das auf einer SQL-Abfrage basiert.
Beispiel
In diesem Beispiel wird die Orders-Tabelle verwendet, um den Gesamtwert der Bestellungen zu berechnen, die nach Großbritannien versandt wurden.
In diesem Beispiel wird die EnumFields-Prozedur aufgerufen, die im Beispiel für die SELECT-Anweisung enthalten ist.
Sub SumX()
Dim dbs As Database, rst As Recordset
' Modify this line to include the path to Northwind
' on your computer.
Set dbs = OpenDatabase("Northwind.mdb")
' Calculate the total sales for orders shipped to
' the United Kingdom.
Set rst = dbs.OpenRecordset("SELECT" _
& " Sum(UnitPrice*Quantity)" _
& " AS [Total UK Sales] FROM Orders" _
& " INNER JOIN [Order Details] ON" _
& " Orders.OrderID = [Order Details].OrderID" _
& " WHERE (ShipCountry = 'UK');")
' Populate the Recordset.
rst.MoveLast
' Call EnumFields to print the contents of the
' Recordset. Pass the Recordset object and desired
' field width.
EnumFields rst, 15
dbs.Close
End Sub
Siehe auch
- Access-Entwicklerforum
- Hilfe mit Access unter support.office.com
- Access-Foren auf UtterAccess
- Entwickler- und VBA-Programmierung (FMS)
- Access-Beiträge zu StackOverflow
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.