Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

niedrigsten Wert einer Gruppe übernehmen

Begonnen von Xoar, April 20, 2016, 21:34:02

⏪ vorheriges - nächstes ⏩

Xoar

Hallo,

ich brauch mal nen Denkanstoß von euch.

Habe ein Endlosformular mit einem weiterem Endlosformular im Fuß.
Wenn ich jetzt einen DS im HF anklicke, zeigt er mir alle zugehörigen DS im Ufo an. Klappt super, über ID <-> FID verknüpft.

Jetzt das Problem, ich kann im Ufo jedem DS ein Status geben (1-4) und muss ein Datumsfeld ausfüllen.
Bsp:
von: 01.01.2016   Status: 1
von: 02.01.2016   Status: 2...   sortiert ist das ganze nach kleinstes Datum als erstes anzeigen.

Jetzt will ich im HF ein Feld haben, was für jeden DS den Status des kleinsten Datums anzeigt, ergo immer den obersten.
Bsp im HF Endlos:
1. Name: Test     Name2: Toll     Statusanzeige: 1 (Status von dem DS mit dem kleinsten Datum)
2. Name: Test2   Name2: Toll2   Statusanzeige: 1 (Status von dem DS mit dem kleinsten Datum)

Sinn ist der, dass ich im HF immer sofort den Gesamtstatus aller DS sehe, ohen diesen im UF ablesen zu müssen (muss ihn dazu ja anwählen und sehe es dann nur für den aktuell angewählten)

Probiert habe ich schon folgenden Code um die DS zu filtern
SELECT Min(tblFahrzeugReservierungen.von) AS Minvonvon, tblFahrzeugReservierungen.FFahrzeugID
FROM tblFahrzeugReservierungen
GROUP BY tblFahrzeugReservierungen.FFahrzeugID;

sobald ich aber das Feld Status mit einbeziehe, zeigt er mir wieder alle DS an und nicht nur die mit dem kleinsten Datum:
SELECT Min(tblFahrzeugReservierungen.von) AS Minvonvon, tblFahrzeugReservierungen.FFahrzeugID, tblFahrzeugReservierungen.Status
FROM tblFahrzeugReservierungen
GROUP BY tblFahrzeugReservierungen.FFahrzeugID, tblFahrzeugReservierungen.Status;


man müsste die Gruppierung für den Status herausnehmen, ohne das er nen Aggregatfehler anzeigt, nur wie?!

Den Inhalt dieser Abfrage würde ich dann mit ner Aktualisierungsabfrage in ein StatusAnzeigefeld im HF schreiben.
naja würde.....

DF6GL

Hallo,


speicher eine  Abfrage (abf_Status) mit diesem SQL-String:

Select  Status,  FFahrzeugID from tblFahrzeugReservierungen order by Von



im Steuerelementinhalt eines Feldes in HFO:

=Dlookup("Status";"abf_Status";"FFahrzeugID= " & [FahrzeugID])
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Xoar

Ich probiere es gleich morgen früh aus.

Danke schonmal

Xoar

klappt wie erwartet.

Riesen Dank und dabei so einfach. Hehe

Xoar

#4
ich nochmal,

die Lösung klappt, leider ist sie langsam. Habe 30 fixe Datensätze und bis Dlookup alle Felder gefüllt hat, vergehen locker 3-4 Sekunden.

Als Alternative wollte ich diese "Statusangaben" mit einer update Abfrage in die andere Tabelle schreiben. Dies klappt leider nur bedingt, WEIL er immer den zuletzt erzeugten Datensatz der DS-Gruppe (über ID gefilterte) in die Tabelle schreibt, aber nicht den wo das Datum am kleinsten ist.   <-- Diese Variante arbeitet sogut wie verzögerungsfrei

Bsp:
DS 1  02.01.2016
DS 2 01.01.2016   
DS 3 03.01.2016  jetzt wird immer der DS 3 als Auswahl für die Aktualisierung genommen, obwohl in der Formularabfrage die Datensätze nach "von" aufsteigend sortiert sind.

Die update Abfrage sollte immer den DS der DS-Gruppe nehmen, bei dem das niedrigste Datum herscht.

Ich bekomms nicht hin.....wäre die Tabelle auf die die update Abfrage selbst sortiert, wäre das Problem ja nicht vorhanden, aber die Datenblattansichtsfilterung bringt da genau nichts.

DF6GL

Hallo,

versuch es mal so als Abfrage für das HFo:

Select * , (Select  Top 1 Status from tblFahrzeugReservierungen Where  tblFahrzeugReservierungen.FFahrzeugID = tbblFahrzeuge.[FahrzeugID] order by Von) as FZStatus from tblFahrzeuge
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access