BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[ERLEDIGT]Summe Mehrere Felder aller Datensätze bilden

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Onno
Beiträge: 10
Registriert: Mi 2. Sep 2020, 12:28

[ERLEDIGT]Summe Mehrere Felder aller Datensätze bilden

Beitrag von Onno » So 23. Jan 2022, 11:59

Meine Datenbank „Ausgaben“ hat die Tabellen „Monate“, „tblJedenMonat“, „tblAusgabenMonat“
„tblJedenMonat“ hat die Felder „Ausg1“ und „Ausg2“. „tblAusgabenMonat“ die Felder „MA1“ und MA2
In der Abfrage sind die Tabellen verknüpft.
In dem Formular “frmAusgaben“ rufe ich mittels Listenfeld die Monate auf und gebe die Beträge ein. Die Monatssumme „SumMonat“ aller funktioniert
Jetzt möchte ich mit einem Macro die Jahressumme aus „SumMonat“ bilden. Wenn ich einen Wert in den o.a. Feldern ändere, soll sich auch die Jahressumme ändern.

In der Abfrage habe ich zwar eine SELECT Summe… eingerichtet, aber die Summe aktualisiert sich nur bei Monatswechsel.

Kann mir geholfen werden?
Dateianhänge
Ausgaben.odb.zip
(19.63 KiB) 82-mal heruntergeladen
Zuletzt geändert von Onno am Mo 24. Jan 2022, 18:30, insgesamt 1-mal geändert.
Gruß
Onno

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Summe Mehrere Felder aller Datensätze bilden

Beitrag von RobertG » So 23. Jan 2022, 16:52

Hallo Onno,

eine Abfrage kann nur zu bestehenden Daten das jeweilige Ergebnis liefern. Schau Dir einfach einmal die Abfrage an. Da kannst Du ja direkt sehen, was passiert, wenn Du Daten änderst und wenn Du anschließend den Datensatz speicherst. Erst beim Speichern des Datensatzes springt die Summierung der Abfrage an. Vorher steht in der Datenbank ja nichts neues.

Wenn Du also jede Änderung innerhalb Deiner Daten sichtbar machen möchtest, dann musst Du direkt nach der Änderung speichern. Also gegebenenfalls ein oForm.UpdateRow gefolgt von einem oForm.reload. Da das zum ersten Datensatz springt musst Du häufig vorher die Zeile herausbekommen, zu der Du springen willst:

Code: Alles auswählen

oForm.UpdateRow()
loRow = oForm.getRow()  ' notiere die aktuelle Zeilennummer
oForm.reload() ' lade die Datenmenge neu
oForm.absolute(loRow)
Das Formular, das Du da konstruiert hast, produziert übrigens völlig falsche Angaben, wenn Du einmal ohne Makros dort hinein gehst. Ich kann z.B. eine Ausgabe auf 150 € und die andere auf 50 € setzen und da bleibt weiter 100 € als Summe der Ausgaben stehen. Das gilt im Prinzip für alle Tabellen. Summen werden in einer Datenbank berechnet und nicht über ein Makro an die entsprechende Stelle geschrieben. Sie haben nirgendwo sonst zu erscheinen als in einer Abfrage oder einer Ansicht. Ansonsten bemerkst Du solche Fehleingaben nie.

Deswegen: Schau Dir die Abfrage an. Mache dort Eingaben. Schau, ob das Ergebnis und alle Einträge anschließend stimmen.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Onno
Beiträge: 10
Registriert: Mi 2. Sep 2020, 12:28

[ERledigt]Re: Summe Mehrere Felder aller Datensätze bilden

Beitrag von Onno » Mo 24. Jan 2022, 10:55

Hallo Robert,

Ich hatte mich an ACCESS angelehnt und dachte, das geht hier ähnlich, daher die Macros.

Viele Dank für das "Augen öffnen"

Gruß
Onno

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten