Seite 1 von 1

Formular mit 3 Filtern

Verfasst: So 16. Jan 2022, 17:28
von RBOCK
Hallo Zusammen,

ich möchte in einem Formular 3 Filter nutzen um nach dem Arbeitgeber, der Tätigkeit und dem Jahr zu filtern. Ich habe mich an verschiedenen Beispieldatenbanken orientiert (Beispiel_Suchen_Filtern_Hsqldb, Handyuse).
In ersterer ist es das Formular "Filter_Formular_Subformular_3Filter". Ich komme aber nicht weiter. Soweit ich das überblicke, funktioniert der Filter. Ich habe ihn in der Tabelle Filter aktiviert und die entspr. ID des Arbeitgebers oder der Tätigkeit wird auch nach der Auswahl im Filterformular in der Tabelle Filter gelistet.

Baustellen:

1. Listeninhalt (SQL-Befehl) für Listenfeld Filter_AG_HB und Filter_Taetigkeit_AG_HB und Filter_Jahr.
Filter_AG_HB.png
Filter_AG_HB.png (33.92 KiB) 1623 mal betrachtet

2. SQL-Befehl der Filterabfrage für das Formular "Anzeige"
Filterabfrage.png
Filterabfrage.png (40.54 KiB) 1623 mal betrachtet

Nachstehend mein Befehl, wobei ich den erst einmal nur auf AG_HB erstellt habe um es zu testen.

SELECT "Datum", "AG_HB" FROM "Arbeitserfassung" WHERE "AG_HB" = ( SELECT "Filter_AG_HB" FROM "Filter" WHERE "ID" = TRUE )

3. Kann der Filter Jahr realisiert werden, wenn das Jahr zuvor per Abfrage aus der Tabelle Arbeitserfassung extrahiert wird [(SELECT "Datum", "AG_HB", "Taetigkeit_AG_HB", YEAR( "Datum" ) AS "Jahr" FROM "Arbeitserfassung" ORDER BY "Datum")]
oder muss ich zwingend eine Extra-Tabelle "Jahr" nutzen und dort von 2020-2050 alle Jahre zu listen?

Meinen Arbeitsstand habe ich als
TEST_Filter.zip
(16.74 KiB) 144-mal heruntergeladen
angehangen.

Vielen Dank vorab

Re: Formular mit 3 Filtern

Verfasst: So 16. Jan 2022, 21:01
von RobertG
Was mir sofort auffällt: Du arbeitest in der Arbeitszeiterfassung nicht mit den Schlüsselfeldern aus AG_HB. Deswegen ergibt der Filter auch immer einen leeren Datensatz. In der Filtertabelle stehen nämlich Zahlen, in der Arbeitszeiterfassung aber Buchstaben. Die passen natürlich nicht zusammen.

Wenn Du mit Datumswerten eine Zeitspanne erfassen willst, dann baue ein Feld "von" und ein Feld "bis" in den Filter ein. Dann ist der Code in der Abfrage

Code: Alles auswählen

SELECT * FROM "Tabelle" WHERE "Jahr" BETWEEN (SELECT "von" FROM "Filter") AND (SELECT "bis" FROM "Filter")
Jetzt ohne die ganzen Details wie die Abfrage des Jahres und wie bei fehlenden Einträgen umzugehen ist und dass die Filtertabelle nur einen Datensatz enthält usw.

Gruß

Robert

Re: Formular mit 3 Filtern

Verfasst: Mo 14. Apr 2025, 18:53
von Rambo_1721
Hallo kannst du mir helfen.

Ich möchte in meiner Datenbank 3 Filter ein Bauen.

Aber ich komme nicht mehr als 2 Filter hin, wenn ich 3 Filter einbaue gehen nur 2.

Kannst du mir bitte helfen

MFG Maik

Re: Formular mit 3 Filtern

Verfasst: Di 22. Apr 2025, 18:02
von RBOCK
Hallo Rambo_1721,

bitte schau bei deinem Thema: Fehler in der Musikdatenbank viewtopic.php?f=10&t=40631