Betrifft: ab orgAnice SQL
Frage:
Wie verwende ich die Methode Table.Sum zum Summieren?
Lösung:
Public Sub TableSumExample()
Dim prs As Parser
Dim tbl As Table
Dim prqSum As ParserRequest ‚ Parser-Request mit Ausdruck über den summiert werden soll (numerisch)
Dim prqGroup As ParserRequest ‚ Parser-Request mit Ausdruck über den Gruppen gebildet werden sollen (alphanumerisch)
Dim prqCondition As ParserRequest ‚ Parser-Request mit Bedingung, welche (sichtbaren) Datensätze summiert werden sollen (logisch)
Dim lOptions As OrgDbSumEnum
Dim objSumResult() As SumResult
Dim i As Long
‚ ********************************* Erläuterungen zur Struktur SumResult
‚ Die Struktur SumResult besteht aus folgenden Elementen:
‚
‚ .Sum = Summe der evaluierten prqSum-Werte
‚ .Count = Anzahl der summierten Datensätze
‚ .Max,.Min = Maximum / Minimum der summierten Werte
‚ .Avg = Durchschnitt der summierten Werte
‚ .StDev = Standardabweichung der summierten Werte
‚ .Var = Varianz der summierten Werte
‚ .Group = jeweiliger Gruppenwert (evaluierter prqGroup)
Set tbl = Database.Tables(„Rechnungspositionen“)
‚ Parser-Objekt instanzieren
Set prs = Database.Parser
‚ Zu summierender Ausdruck
Set prqSum = prs.CreateRequest(„Rechnungspositionen->Anzahl“)
‚ Zu gruppierender Ausdruck
‚Set prqGroup = prs.CreateRequest(„Rechnungspositionen->RechnungID“)
‚ Bedingung
Set prqCondition = prs.CreateRequest(„Rechnungspositionen->RechnungID = „“00000001″““)
‚ Optionen
lOptions = ORGDB_SUM_NORMAL
‚ Aufruf der .Sum-Methode mit den drei Parser-Requests als Parameter und den eingestellten Optionen
objSumResult = tbl.sum(prqSum, prqGroup, prqCondition, lOptions)
‚ Ergebnis ausgeben
For i = 0 To UBound(objSumResult())
With objSumResult(i)
‚ i = 0 gibt das Ergebnis ohne Gruppierung zurück
‚ i > 1 für die jeweilige Gruppierung
Debug.Print , .Group, .sum, .Count, .Max, .Min, .Avg
End With
Next
End Sub