Spaltensummer einer Abfrage bilden

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Gast0

Spaltensummer einer Abfrage bilden

Beitrag von Gast0 » Mi, 02.08.2017 21:42

Hallo,

ich möchte gern eine ergänzende Frage zum Thread

viewtopic.php?f=8&t=19527

stellen, da ich momentan vor dem gleichen Problem stehe: Ich möchte gern die Summe unterhalb der jeweiligen Spalten angezeigt bekommen. Über die korrelierte Abfrage nach dem Handbuch gelingt es, die Summe anzuzeigen, doch steht diese dann jeweils in jeder Zeile, anstatt unter der Spalte, hier Zahlungseingang und -ausgang der über die Parameterauswahl geöffneten Akte.

Barlees letzte Lösung führte letztendlich zum Erfolg; die Summen werden unterhalb der Spalten angezeigt, allerdings gelingt es mir nicht, hier eine Parameterabfrage einzubauen, um die Akte der jeweiligen Buchungen aufzurufen. :qAktenzeichen scheint nur in der korrelierten Abfrage zu funktionieren, sobald ich jedoch nach Barlees Lösung SQL direkt auswähle, gelingt keine Abfrage nach der jeweiligen Akte mehr.

Ich freue mich, wenn mir schnell jemand auf die Sprünge hilft. Lieben Dank.

RobertG
*******
Beiträge: 1637
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Spaltensummer einer Abfrage bilden

Beitrag von RobertG » Do, 03.08.2017 16:00

Hallo Gast0,

Parameterabfragen bietet die GUI von Base an. Die Abfrage nach dem Parameter erfolgt also nicht, wenn Du auf direkte SQL-Ausführung stellst.

Die Filterung müsstest Du also über eine Filtertabelle erstellen. Die kennt die Datenbank auch.

Eine separierte Anfrage der Summe bekommst Du hin, wenn Du z.B.

Code: Alles auswählen

SELECT "ID", "Produkt", "Betrag" FROM "Tabelle"
UNION SELECT NULL, NULL, SUM("Betrag") FROM "Tabelle"
Damit hast Du allerdings noch nicht das Problem gelöst, dass durch die leeren Felder (NULL) eine ungewollte Sortierung der Summe an den Anfang der Abfrage erfolgt. Wenn Du das Feld "ID" für die Anzeige nicht benötigst, dann könntest Du

Code: Alles auswählen

SELECT "ID", "Produkt", "Betrag" FROM "Tabelle"
UNION SELECT 999999, NULL, SUM("Betrag") FROM "Tabelle"
schreiben. Die Sortierung erfolgt standardgemäß nach dem ersten Feld. NULL erscheint dann ganz oben, 999999 bei den meisten Datensätzen wohl untern. Wenn Du ein Integer-Feld als ID hast, dann gehst Du ganz sicher mit 2147483647, weil das der höchste Wert ist, den ein Integer-Feld annehmen kann.

Gruß

Robert

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste