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. 🤗

Formular mit 3 Filtern

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
RBOCK
Beiträge: 7
Registriert: Mi 14. Jul 2021, 18:32

Formular mit 3 Filtern

Beitrag von RBOCK » So 16. Jan 2022, 17:28

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) 916 mal betrachtet

2. SQL-Befehl der Filterabfrage für das Formular "Anzeige"
Filterabfrage.png
Filterabfrage.png (40.54 KiB) 916 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) 81-mal heruntergeladen
angehangen.

Vielen Dank vorab

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

Re: Formular mit 3 Filtern

Beitrag von RobertG » So 16. Jan 2022, 21:01

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
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

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