Base Berechnungen?

Hallo,

ich habe ein Problem in LibreOffice Base. Ich lass über eine Formular Eingabe (Anhand einer Filtertabelle die Werte von einer bestimmten Rechnungsnummer anzeigt) einen Bericht erstellen.

Der Bericht ist wie folgt aufgebaut:

Es wird aufgelistet welcher Artikel von welchem Haus gekauft wurde und wie viele.
Das heißt die Artikel werden pro Haus aufgelistet. Unter jeder dieser Auflistungen sollen alle Artikel Preise zusammengerechnet werden, “Netto” - darunter soll der Mwst-Wert angegeben werden.

Also die Rechnung: ([SummeGesPreisNett] / 100) * [Mwst]

Erstes Problem ist das sobald nur ein Artikel bei einem Haus steht bleibt das Feld leer-

Zweite Problem ist das wenn 2 Artikel in der Berechnung stehen wird der Mwst Wert Berechnet aber dann bleibt der Brutto Wert ("[SummeGesPreisNettoMwst] + [MwstBerechnung]") auf einmal leer.

Das ganze sind “Großgebinde Abrechnungen” eines kleinen Lädchen die Rechnungen schreiben für bestimmte Häuser die dort bestellen.
Was mich verwirrt ist das es teilweise einfach super funktioniert und dann bei weniger Artikeln auf einmal nicht?

Ich bin ein ziemlicher Anfänger was Base angeht.
Habe ich hier einen Denkfehler? Jemand eine Idee wie man das beheben kann?

Kannst Du die DB, mit ein paar Dummydaten versehen, hier hoch laden? Wenn ich das hier nachvollziehen will zeigt der Berichtsgenerator auch bei einem Datensatz die Summe an.

Ich werde schauen das ich das morgen mal hochladen vielen dank schonmal!

Hilfe.odb (25.7 KB)

Hier sollte einmal eine Datei mit Dummydaten sein - und einer Rechnungsnummer.

Ich habe auch am Anfang noch etwas rum probiert, was denn da bei den Berechnungen schief läuft und welche Logik dahinter steht. Immerhin versuchst Du auf ein Feld zu zu greifen, das gerade erst berechnet wird.

Was auch immer da schief läuft: Versuche Berechnungen aus dem Report-Builder raus zu halten. Mache das vorher mit der Abfrage. Die Datenbank kann das viel besser als der Report-Builder und ist auch viel schneller. Ich habe das einmal mit einer korrelierenden Unterabfrage gemacht.
Hilfe.odb (32.9 KB)

Sowas in der Art habe ich mir schon gedacht.

Das funktioniert mit den Dummy Daten auch echt super allerdings so eingebaut in der laufenden Datenbank nicht da der hier astronomisch Hohe Summen Anzeigt aber das werden irgendwelche Werte sein die ich in der Abfrage vermutlich ändern muss - das schaue ich mir nochmal genauer an.

Vielen Dank aufjedenfall schonmal!

Astronomisch hohe Summen können natürlich dann zustande kommen, wenn, wie bei dem Beispiel, die Unterabfragen zum Haus oder zum Steuersatz nicht stimmig sind. Ich habe das nur auf die Schnelle zusammen gezimmert.

( SELECT SUM( "GesPreisNetto" ) 
FROM "GbRg" 
LEFT JOIN "GbRgPos" ON "GbRg"."ID" = "GbRgPos"."GbRgID" 
WHERE "GbRg"."Haus" = "a"."Haus" 
AND "GbRgPos"."Mwst" = "b"."Mwst" 
AND "GbRg"."ID" = "a"."ID" )

Die letzte AND-Bedingung ist in den Unterabfragen nicht drin. Vielleicht bringt die das Ganze wieder auf Kurs.

Ja genau,

hatte ich so dann angepasst! Vielen Dank dir für deine Hilfe!