Seite 1 von 1

Base: Aufaddieren von Summen

Verfasst: Sa, 05.11.2011 05:55
von je ne regrette rien
Guten Tag!

Ich benutze OpenOffice.org 3.3.0 auf einem Mac/OSX. Falls das wichtig ist.
So, nun zum Problem.
Ich habe eine Tabelle mit ID, Datum, Kontoart, Verwendungszweck, Einnahme, Ausgaben.
Eine Abfrage (mit Eingabe über die Parameterbox) für einen jeweiligem Zeitraum und Kontoart. Hier wird eine Summe gebildet durch Einnahme - Ausgaben. So weit, so gut.
Jetzt finde ich aber nirgendwo eine Erklärung, wie ich diese Summe bei jeder Buchung aufaddiere also einen Saldovortrag erzeuge. Vielleicht geht es ja nicht. Ich bin der Meinung, wenn, dann nur über den Bericht, den ich mit dem Oracle Report Builder erstelle.
Weiß da Eine/r Rat?
Im Voraus vielen Dank

Grüße

je ne regrette rien

Re: Base: Aufaddieren von Summen

Verfasst: Sa, 05.11.2011 20:52
von je ne regrette rien
Guten Abend Robert,

vielen Dank für die schnelle Hilfe. Wenn ich alles Richtig gemacht habe, sehe ich jetzt aber den Gesamtsaldo. Ich benötige aber den Saldo nach jeder Buchung. Vielleicht verstehe ich aber auch etwas nicht richtig.
So sieht mein Bericht / Abfrage / Formular jetzt aus. Mit Breit und Kursiv sieht man was mir fehlt, außer meinem Verstand.

Nr - Datum - Konto - Verwendung - Einnahme - Ausgaben - Saldo
1 - 01.01.11 - Ohne - Kassenanfang - 300 - 0 - 300
2 - 15.01.11 - Einkauf - test - 0 - 200 - 100
3 - 30.01.2011 - Verkauf - test - 500 - 0 - 600

Ich hoffe, ich habe mich so ausgedrückt, das man es versteht.

Gibt es da auch eine Möglichkeit?

Danke im Voraus

Je ne regrette rien

Re: Base: Aufaddieren von Summen

Verfasst: So, 06.11.2011 14:10
von je ne regrette rien
Hallo Robert,

nochmals vielen Dank für Deine Mühe. Es funktioniert aber nicht. Also keine Fehlermeldung oder ähnliches. Es ergibt sich nur nicht die Summe. Wobei ich kurz nachfragen möchte woher die ID aus "Kasse" kommt.

Letztlich möchte ich deine Zeit gar nicht stehlen. Das ist ja eine Heidenarbeit. Beim googeln bin ich auf für mich unverständliche Sachen wie "Selfjoin" gestoßen. Wie dem auch sei, wenn Du oder jeder geneigte Forenbesucher eine Erklärung oder vielleicht Mitleid hat. Bin für Alles offen.

Grüße

je ne regrette rien

Re: Base: Aufaddieren von Summen

Verfasst: So, 06.11.2011 15:26
von DPunch
Aloha

Das kannst Du mit einer einfachen korrelierten Unterabfrage lösen - wenn Du mehrere Buchungen an einem Tag hast bzw. haben kannst, brauchst Du allerdings eine Timestamp-Spalte statt des Datums, um die Buchungen auch tatsächlich unterscheiden und anordnen zu können.

Code: Alles auswählen

SELECT 
	"a"."Nr", "a"."Datum", "a"."Konto", "a"."Verwendung", "a"."Einnahme", "a"."Ausgaben", 
	(SELECT SUM("Einnahme")-SUM("Ausgaben") FROM "meineTabelle" WHERE "Datum" <= "a"."Datum") AS "Saldo" 
FROM 
	"meineTabelle" "a"
ORDER BY
	"Datum" ASC
Zusätzliche Bedingungen, wie z.B. Kontoart musst Du dann entsprechend einbauen, sowohl in die korrelierte Unterabfrage, als auch in die äußere Abfrage.

Re: Base: Aufaddieren von Summen

Verfasst: Mo, 07.11.2011 21:45
von je ne regrette rien
Guten Abend,

vielen Dank für die Unterstützung. Das mit dem Saldo klappt super. Natürlich bekomme ich es noch nicht hin, über die Parameterbox, Filter ein zu geben, aber das liegt wohl daran, dass ich das mit der Unterabfrage noch nicht verstanden habe. Gebe ich nämlich einfach den Code in die Abfrage ein, ändere das auf meine Tabelle, klappt es schon mit der Abfrage für das ganze Jahr. Nur den Zeitraum und die Art bekomme ich nicht gefiltert.

Dankende Grüße


je ne regrette rien

Re: Base: Aufaddieren von Summen

Verfasst: Mo, 07.11.2011 22:19
von DPunch
Aloha

Du musst die Parameter nur komplett gleich in die äußere Abfrage wie auch in die korrelierte Unterabfrage einbauen.

Code: Alles auswählen

    SELECT
       "a"."Nr", "a"."Datum", "a"."Konto", "a"."Verwendung", "a"."Einnahme", "a"."Ausgaben",
       (SELECT SUM("Einnahme")-SUM("Ausgaben") FROM "meineTabelle" WHERE "Datum" <= "a"."Datum" AND "Konto" = :Konto) AS "Saldo"
    FROM
       "meineTabelle" "a"
	WHERE
		"a"."Konto" = :Konto
    ORDER BY
       "Datum" ASC

Re: Base: Aufaddieren von Summen

Verfasst: Mi, 09.11.2011 21:03
von je ne regrette rien
Viele Dank an Alle.
Es funktioniert jetzt so wie ich es wollte. Ich denke auch, dass ich es sogar kapiert habe. Toll, dass Ihr euch so viel Mühe gemacht habt.

Grüße

je ne regrette rien

P.S. Sollte ich noch Fragen haben, werde ich Euch wieder belästigen!