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.
2. SQL-Befehl der Filterabfrage für das Formular "Anzeige"
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 angehangen.
Vielen Dank vorab
BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> 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
Re: Formular mit 3 Filtern
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
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
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")
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
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 ❤️