🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

Formular mit 4 statt 3 Suchworten geht nicht?

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Pit Zyclade
* LO-Experte *
Beiträge: 3191
Registriert: Mo 12. Nov 2012, 16:59

Formular mit 4 statt 3 Suchworten geht nicht?

Beitrag von Pit Zyclade » Fr 1. Mai 2026, 11:19

Hallo Experten
Ich habe eine HSQL-DB (base) die ein Formular auf Basis einer Abfrage mit drei Suchworten, die im Ablauf in einer Tabelle "Filter" im ersten Datensatz gespeichert werden und so dann im Formular "gefiltert" angezeigt werden.

Nun wollte ich dies auf 4 Suchworte erweitern. Ich habe die Filtertabelle und das Formular richtig erweitert und die Eingabe der gesuchten Worte in das Formular wird auch korrekt in die Filtertabelle übernommen! Aber das Filterresultat im Formular ist nicht funktionsfähig für das 4 Suchwort.

Natürlich habe ich auch in der Abfrage den SQL-Text erweitert...

Es FUNKTIONIERT mit 3 Suchworten:

SELECT "Edelmetallmünzen"."*" FROM "Edelmetallmünzen"
WHERE
( ( ( LOWER ( "Motiv" ) LIKE '%' || COALESCE ( ( SELECT LOWER ( "SucheMotiv" ) FROM "Filter" WHERE "Filter"."ID" = TRUE ), '' ) || '%' ) OR "Motiv" IS NULL ) )
AND
( ( ( LOWER ( "Serie" ) LIKE '%' || COALESCE ( ( SELECT LOWER ( "SucheSerie" ) FROM "Filter" WHERE "Filter"."ID" = TRUE ), '' ) || '%' ) OR "Serie" IS NULL ) )
AND
( ( ( LOWER ( "Material" ) LIKE '%' || COALESCE ( ( SELECT LOWER ( "SucheMaterial" ) FROM "Filter" WHERE "Filter"."ID" = TRUE ), '' ) || '%' ) OR "Material" IS NULL ) )
ORDER BY "Serie" ASC, "Motiv" ASC, "Material" ASC

Nicht funktioniert mit 4 Suchworten:

SELECT "Edelmetallmünzen"."*" FROM "Edelmetallmünzen" WHERE
( ( ( LOWER ( "Motiv" ) LIKE '%' || COALESCE ( ( SELECT LOWER ( "SucheMotiv" ) FROM "Filter" WHERE "Filter"."ID" = TRUE ), '' ) || '%' ) OR "Motiv" IS NULL ) )
AND
( ( ( LOWER ( "Serie" ) LIKE '%' || COALESCE ( ( SELECT LOWER ( "SucheSerie" ) FROM "Filter" WHERE "Filter"."ID" = TRUE ), '' ) || '%' ) OR "Serie" IS NULL ) )
AND
( ( ( LOWER ( "Material" ) LIKE '%' || COALESCE ( ( SELECT LOWER ( "SucheMaterial" ) FROM "Filter" WHERE "Filter"."ID" = TRUE ), '' ) || '%' ) OR "Material" IS NULL ) )
AND
( ( ( LOWER ( "Von wem" ) LIKE '%' || COALESCE ( ( SELECT LOWER ( "SucheVon wem" ) FROM "Filter" WHERE "Filter"."ID" = TRUE ), '' ) || '%' ) OR "Von wem" IS NULL ) )
ORDER BY "Serie" ASC, "Motiv" ASC, "Material" ASC

Fragen:
1. Ist nicht sogar beim funktionierenden Modell jeweils ein Klammerpaar zu viel?
2. Ist das Modell mit 4 Suchworten deshalb nicht funktionierend, weil die SQL-Textkettenlänge überfordert?
3. Sind Fehler enthalten?

Welche Ratschläge können gegeben werden?
Danke für jede Hilfe!
LO 25.8.6.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
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