🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Aggregate-Funktionen und Unterabfragen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
chico
Beiträge: 17
Registriert: Mo 28. Jul 2014, 15:13

Aggregate-Funktionen und Unterabfragen

Beitrag von chico » So 10. Aug 2014, 14:13

Hallo,
nachdem ich meine Datenbankanwendung schon fast fertig habe und Alles erst einmal funktioniert, müssen nun nur noch einige errechnete Werte in das Eingabeformular eingefügt werden. Ich dachte, das wäre sehr einfach, komme aber z.Zt. nicht weiter. Ich habe im Handbuch und in diesem Forum ähnliche Beispiele gefunden, die ich aber nicht anpassen konnte. Ich verstehe noch nicht, warum in Abfragen wohl immer die gesamte Datenmenge behandelt werden muss, auch dann wenn die Abfrage für ein Anzeigefeld schon unterhalb einer vorhandenen Abfrage liegt.
Um meine Probleme einfacher darzustellen, habe ich meine Datenbank mit einigen Beispieldaten gefüllt und im Anzeige- und Eingabeformular die problematischen Felder gekennzeichnet.
Ich hoffe, das damit jemand meine Fehler nachvollziehen und mir evtl. eine Lösung nennen kann.
test_kunden.zip
Erst eintzippen
(21.88 KiB) 254-mal heruntergeladen
Vielen Dank im Voraus!

Gruß

chico

Acco
Beiträge: 94
Registriert: Fr 31. Jan 2014, 16:41

Re: Aggregate-Funktionen und Unterabfragen

Beitrag von Acco » So 10. Aug 2014, 20:00

Hi chico,
chico hat geschrieben: Ich verstehe noch nicht, warum in Abfragen wohl immer die gesamte Datenmenge behandelt werden muss, auch dann wenn die Abfrage für ein Anzeigefeld schon unterhalb einer vorhandenen Abfrage liegt.
Ich habe nicht kapiert, was Du damit meinst, aber seis drum.


Im angehängten Beispiel ist für die Anzeige der Mitversorgten im Formular eine Lösung enthalten:

Dazu ist ein neues Unterformular unter "SubF_Versorgte" erforderlich und erstellt: "SubSubF_ZahlVersorgte".
Eine neue Abfrage "Ab_Mitversorgt" ist die Datenquelle dafür.
Verknüpft ist das Unterformular von "Kunden_ID" zu "Kunde".
In das neue Unterformular habe ich das Feld "Numerisches Feld 1" verschoben und in "ZahlMitversorgt" umbenannt.
Datenfeld dafür ist "Anzahl Mitversorgt" aus der Abfrage "Ab_Mitversorgt".
Und noch ein Beschriftungsfeld zugefügt.

Die anderen Felder Deines Formulars kannst Du entaprechend selbst ändern. (Deinen SQL-Befehl für das Unterformular "SubSubSumme" habe ich gelöscht, weil beim Formularstart eine Fehlermeldung kam.)

Gruß acco
Dateianhänge
test_kunden_1.zip
(21.98 KiB) 226-mal heruntergeladen
openSUSE Tumbleweed - LibreOffice 24.8.2.1

chico
Beiträge: 17
Registriert: Mo 28. Jul 2014, 15:13

Re: Aggregate-Funktionen und Unterabfragen

Beitrag von chico » Mo 11. Aug 2014, 10:14

Hi Acco,

vielen Dank für Deine schnelle und kompetente Antwort, ich kann alles nachvollziehen und es funktioniert.
Zu meiner seltsamen 'Denkschleife' :
Ich habe gedacht, man kann einfach die Anzahl der Zeilen im SubGrid_Mitversorgte zählen, die entsprechen ja der Anzahl der Mitversorgten.
Jetzt weiß ich wie man vorgeht und hoffe, auch meine Summen-Abfragen entsprechend formulieren zu können.

Ich wünsche eine schöne Woche!

Gruß
chico

Acco
Beiträge: 94
Registriert: Fr 31. Jan 2014, 16:41

Re: Aggregate-Funktionen und Unterabfragen

Beitrag von Acco » Mo 11. Aug 2014, 10:56

Hi chico,
chico hat geschrieben:Ich habe gedacht, man kann einfach die Anzahl der Zeilen im SubGrid_Mitversorgte zählen...
Das ist auch möglich, aber dazu brauchst Du dann ein Makro. Das setze ich erst ein, wenn ich anders keine Lösung finde.

Eine wetere Möglichkeit: Im neuen Unter-Formular als Datenquelle einen SQL-Befehl einzugeben, z.B. für Anzahl der Kinder

Code: Alles auswählen

SELECT "Kunden_ID", COUNT("Kunden_ID") FROM "Kinder" GROUP BY "Kunden_ID" 
Dann hast Du die Abfrage direkt im Formular, aber nicht mehr sichtbar im Abfrage-Fenster der Datenbank. Ist halt "Geschmackssache" was man einsetzen will.

Gruß acco
openSUSE Tumbleweed - LibreOffice 24.8.2.1


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten