Betrifft: ab orgAnice SQL
Frage:
Wie verwende ich die Methode Table.Sum zum Summieren?
Lösung:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
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 |
Was this helpful?
1 / 0