OKB-000266 | Summieren

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