Seite 1 von 1

Aggregate-Funktionen und Unterabfragen

Verfasst: So 10. Aug 2014, 14:13
von chico
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) 255-mal heruntergeladen
Vielen Dank im Voraus!

Gruß

chico

Re: Aggregate-Funktionen und Unterabfragen

Verfasst: So 10. Aug 2014, 20:00
von Acco
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

Re: Aggregate-Funktionen und Unterabfragen

Verfasst: Mo 11. Aug 2014, 10:14
von chico
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

Re: Aggregate-Funktionen und Unterabfragen

Verfasst: Mo 11. Aug 2014, 10:56
von Acco
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