Hi
Vielen Dank für die Erklärungen und ich beginne es zu verstehen.
Nicht - verstehen tue ich aber, warum folgendes nicht klappt:
Ich habe die Tabelle tbl_Filter ergänzt. u.a durch ein Feld “Indisuch” Varchar 100
In das Suchformular habe ich ein Textfeld plaziert, dass mit dem Datenfeld “Indisuch” in der Filtertabelle verbunden ist.
In der Abfrage bzw./und in der Ansichtstabelle habe ich folgenden SQL code hinzugefügt:
AND UPPER("tbl_Indikationen"."Indikation")LIKE '%'||COALESCE((SELECT UPPER ("Indisuch") FROM "tbl_Filter" WHERE "ID" = TRUE),''||'%')
Die ganze Abfrage/Ansicht sieht also so aus:
SELECT "a".*, "tbl_Bereiche".*, "tbl_Indikationen".*, "tbl_Alternative Namen".*, "tbl_Art".*, "tbl_Inhaltsstoffe".*, "tbl_Kulinarische Verwendung".*, "tbl_Verwendungsarten".*, "tbl_Erntegut".*, "tbl_Anwendungsformen".*
FROM "tbl_Pflanzen" AS "a"
LEFT JOIN "int_tbl_Medizinanwendung" ON "a"."PflanzenID" = "int_tbl_Medizinanwendung"."PflanzenID"
LEFT JOIN "int_tbl_Symptome" ON "int_tbl_Medizinanwendung"."SymptomID" = "int_tbl_Symptome"."SymptomID"
LEFT JOIN "tbl_Bereiche" ON "int_tbl_Symptome"."BereicheID" = "tbl_Bereiche"."BereicheID"
LEFT JOIN "tbl_Indikationen" ON "int_tbl_Symptome"."IndikationenID" = "tbl_Indikationen"."IndikationenID"
LEFT JOIN "int_tbl_Alternative Namen" ON "a"."PflanzenID" = "int_tbl_Alternative Namen"."PflanzenID"
LEFT JOIN "tbl_Alternative Namen" ON "int_tbl_Alternative Namen"."AltID" = "tbl_Alternative Namen"."AltID"
LEFT JOIN "int_tbl_Art" ON "a"."PflanzenID" = "int_tbl_Art"."PflanzenID"
LEFT JOIN "tbl_Art" ON "int_tbl_Art"."ArtID" = "tbl_Art"."ArtID"
LEFT JOIN "int_tbl_Inhaltsstoffe" ON "a"."PflanzenID" = "int_tbl_Inhaltsstoffe"."PflanzenID"
LEFT JOIN "tbl_Inhaltsstoffe" ON "int_tbl_Inhaltsstoffe"."InhaltID" = "tbl_Inhaltsstoffe"."InhaltID"
LEFT JOIN "int_tbl_Kulinarische Verwendung" ON "a"."PflanzenID" = "int_tbl_Kulinarische Verwendung"."PflanzenID"
LEFT JOIN "tbl_Kulinarische Verwendung" ON "int_tbl_Kulinarische Verwendung"."KulID" = "tbl_Kulinarische Verwendung"."KulID"
LEFT JOIN "int_tbl_Verwendungsarten" ON "a"."PflanzenID" = "int_tbl_Verwendungsarten"."PflanzenID"
LEFT JOIN "tbl_Verwendungsarten" ON "int_tbl_Verwendungsarten"."VerwendungsartenID" = "tbl_Verwendungsarten"."VerwendungsartenID"
LEFT JOIN "int_tbl_Erntegut" ON "a"."PflanzenID" = "int_tbl_Erntegut"."PflanzenID"
LEFT JOIN "tbl_Erntegut" ON "int_tbl_Erntegut"."ErnteID" = "tbl_Erntegut"."ErnteID"
LEFT JOIN "int_tbl_Anwendungsformen" ON "a"."PflanzenID" = "int_tbl_Anwendungsformen"."PflanzenID"
LEFT JOIN "tbl_Anwendungsformen" ON "int_tbl_Anwendungsformen"."FormID" = "tbl_Anwendungsformen"."FormID"
WHERE UPPER("a"."Name") LIKE '%'||COALESCE((SELECT UPPER("Suche") FROM "tbl_Filter" WHERE "ID" = TRUE),'')||'%'
AND UPPER("tbl_Indikationen"."Indikation")LIKE '%'||COALESCE((SELECT UPPER ("Indisuch") FROM "tbl_Filter" WHERE "ID" = TRUE),''||'%')
AND COALESCE("tbl_Alternative Namen"."AltID",-1) = COALESCE((SELECT "AltID" FROM "tbl_Filter" WHERE "ID" = TRUE), "tbl_Alternative Namen"."AltID",-1)
AND COALESCE("tbl_Anwendungsformen"."FormID",'') = COALESCE((SELECT "FormID" FROM "tbl_Filter" WHERE "ID" = TRUE), "tbl_Anwendungsformen"."FormID",'')
Während es nun klappt, im Suchformular nach Pflanzennamen mit Teilstrings zu suchen, klappt das bei den Indikationen nicht.
Ich habe z.b. Magenbeschwerden und Darmbeschwerden als Indikationen …
Wenn ich im Suchfeld z.b. “Magen” oder “Darm” eingebe findet das Formular nichts. Wenn ich “beschwerden” eingebe findet es die Pflanzen mit Magenbeschwerden als Indikation…
Wenn ich “ungen” eingebe findet es Entzündungen, Blähungen …
Wenn ich “zündungen” eingebe findet es aber wiederum nichts …
Wenn ich “Leberbeschwerden” eingebe wird gefunden, bei der Eingabe “Leber” nicht …
Wieso ?
Btw: Bei der Suche nach Indikationen oder Bereiche etc … interessiert mich eigentlich nur der Pflanzenname/Bereich und nicht alle Varianten mit alt.Namen, , Kulinarik, Anwendungsformen etc … Ich brauche da nicht hunderte Datensätze ausgegeben - Ich bräuchte eigentlich nur bei der Indikationssuche den Pflanzennamen und den Bereich und bei den Bereichen vice versa.
Kann man das in dem Suchformular bewerkstelligen oder braucht’s da eine Abfrage/Ansicht mit weniger Verknüpfungen ?
Btw:: Was ich noch immer nicht realisieren kann, ist in der Pflanzen Übersicht oder der Pflanzen Eingabe, die Anzeige der Symptome so gestalten, dass diese alphabetisch nach Bereichen/Indikationen geordnet sind und nicht nach deren ID…
lg