Suchabfragen - Verknüpfung

Hallo alle miteinander.

Ich hab da mal wieder n Problem.

Es geht sich um Folgendes… Ich habe bereits eine suchabfrage zu einer SQL DB geschickt wo in Jeder spalte gesucht wird und bei treffer die zeile wo der treffer vorkommt in meinem Flexgrid dargestellt wird.

Die eingabe Funktioniert über eine Textbox welche bei Zwei suchworten wie zb:

Edelstahl Rund
mit der Split funktion die beiden strings in Variablen schreibt und sie mit dem "Spalte like „SuchbegriffVariable(0) oder (1)“ in den SQL string schreibt und diesen ausführt.

Nun ist mein Problem, dass ich nur in Spalte 1 und 2 suche wenn 2 Strings in der Eingabe vorkommen. Quasi mit:

Bezeichnung1 like '%" & Suchbegriff1 & "%' AND Bezeichnung2 like '%" & Suchbegriff2 & "%' Or Langtext like '%" & Suchbegriff2 & "%' OR Dimensionstext like '%" & Suchbegriff2 & "%'

Aber es soll auch Funktionieren, wenn Suchbegriff1 = Bezeichnung1 und Suchbegriff2 = Dimensionstext oder Langtext ist. Es soll quasi bei jedem Treffer egal in welcher spalte anzeigen jedoch mit verknüpfung. Das heisst wenn in Spalte1 das wort vorkommt, soll er in Spalte 2 3 und 4 suchen und alles auflisten.

Dazu bräuchte ich sowas wie ne And Or verknüpfung ^^ Was gäbe es noch für möglichkeiten?

grü´ße vom digi.

Hi digi,

Es geht sich um Folgendes… Ich habe bereits eine suchabfrage
zu einer SQL DB geschickt wo in Jeder spalte gesucht wird und
bei treffer die zeile wo der treffer vorkommt in meinem
Flexgrid dargestellt wird.

Ja, weiß ich. :smile:

Die eingabe Funktioniert über eine Textbox welche bei Zwei
suchworten wie zb:

Edelstahl Rund
mit der Split funktion die beiden strings in Variablen
schreibt und sie mit dem "Spalte like „SuchbegriffVariable(0)
oder (1)“ in den SQL string schreibt und diesen ausführt.

Nun ist mein Problem, dass ich nur in Spalte 1 und 2 suche
wenn 2 Strings in der Eingabe vorkommen. Quasi mit:

Bezeichnung1 like '%" & Suchbegriff1 & "%' AND
Bezeichnung2 like '%" & Suchbegriff2 & "%' Or Langtext like
'%" & Suchbegriff2 & "%' OR Dimensionstext like '%" &
Suchbegriff2 & "%'

… oder bei Bedarf auch ein paar Felder mehr hoffe ich. Mit Indizes kann man das ja flexibel gestalten.

Aber es soll auch Funktionieren, wenn Suchbegriff1 =
Bezeichnung1 und Suchbegriff2 = Dimensionstext oder Langtext
ist.

Jetzt sprichst Du in Rätseln. Wer ist Dimensionstext und wer Langtext?

Es soll quasi bei jedem Treffer egal in welcher spalte
anzeigen jedoch mit verknüpfung. Das heisst wenn in Spalte1
das wort vorkommt, soll er in Spalte 2 3 und 4 suchen und
alles auflisten.

??? Du willst zum Beispiel nach ‚Edelstahl Rund‘ suchen und das kann in Feld 2, 3, 4 … stehen? Du bist sicher, daß Deine Datanbank in Ordnung ist? Die Bezeichnung würde bei mir immer nur in einem Feld stehen.

Irgendwie ist mir Dein Problem unklar.

Gruß, Rainer

OK ^^ ich geb zu mit erklären habe ichs nicht so ^^ …

Die Datenbank ist 98% in ordnung das Modell is von ner Professionellen Firma das einzige was mist ist ist die Pflege ^^ … aber das soll nich mein Problem sein.

Also so ists nicht ^^ …

Beispiel:

---------------------------------------------------------------------
Bezeichnung1 Bezeichnung2 Dimensionstext Langtext
---------------------------------------------------------------------
Sicherung G-Sicherung Träge
Edelstahl Rund bestehend aus
---------------------------------------------------------------------

So das ist mal n beispiel mit 2 fällen (in Langtext steht nich immer das drinne genauso wie in DimText).
Also die Standard Abfrage würde „Edelstahl Rund“ finden.
Will ich nun Sicherung Träge suchen findet er es natürlich nicht, weil er bei 2 Suchbegriffen die TextBox aufsplittet und den Festen suchalgorhytmus in Bez1 und Bez2 nutzt. Suche ich nur „Träge“ durchsucht er alle Spalten und Findet träge jedoch auch 1000de andere artikel in deren spalten irgendwas mit „träge“ vorkommt. Logisch …

Was ich nun will ist dass er alle 4 Spalten mit AND verknüpft ABER sobald er einen Treffer in einer Spalte hat egal in welcher der spalten soll er die zeile einblenden.

das heisst die abfrage müsste mal so aussehen und mal so ich kann aber nicht unterscheiden wie die eingabe ist. Also was gerade gesucht wird weil gedanken vom benutzer lesen geht leider nich :smiley:
Beispiel mal sieht es so aus und mal so:

Bez1 AND Bez2 OR DIMT or LANGT
oder
Bez1 OR Bez2 AND Dimt OR Langtext
oder
Bez1 OR Bez2 OR Dimt AND Langtext

So in etwa kann es aussehen. Aber ich kann ja nicht prüfen wo der begriff der gerade gesucht wird eingeordnet werden soll. Das heisst ich brauch n suchausdruck der wenn er was findet AND verknüpft und wenn nicht OR ^^ sowas wie AND OR halt ^^

Grüße vom digi :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Digi,

Problem verstanden, aber wi man das in einen SQL-String bekommt, ist mir noch unklar. Das wird für mich eine größere Sache, weil ich da keine Übung habe.

Gruß, Rainer