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

RobertG
* LO-Experte *
Beiträge: 2961
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Formular mit 4 statt 3 Suchworten geht nicht?

Beitrag von RobertG » Fr 1. Mai 2026, 16:36

Ich würde zunächst einmal die eine Zeile, die Du hinzugefügt hast, alleine testen. So auf Anhieb kann ich da keinen Fehler finden.

Was meinst Du mit "SQL-Textkettenlänge"? Nur die Länge des Codes? Ich habe hier Abfragen, die nehmen nach Writer kopiert mehrere DINA4-Seiten in Anspruch…

Hast Du eigentlich das * wirklich in doppelte Anführungszeichen gesetzt? Ich kanne das nur ohne Anführungszeichen. Mit den Anführungszeichen wäre das ja wie eine Suche nach einem Feld mit der Bezeichnung "*".
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 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