Moderiert von
Narses: Abgetrennt von [url=www.delphi-forum.de/...?t=81448]hier[/url].
Hi
Ich poste mal mein Anliegen mit hierher, da es das gleiche Thema ist.
Ich will eine Tabelle Filtern. Solange ich "or" verwende, funktioniert alles prima, aber sobald ich ein "and" mit hineinbringe, kommt der Fehler: "
Die Argumente sind vom falschen Typ, liegen außerhalb des Gültigkeitbereiches...".
Ich hab schon versucht sinnvoll zu klammern, aber nichts funktioniert. Hier der Quelltext:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| DataModule1.TbMusikDB.Filter:='(Genre = '+quotedstr(suchgenre)+ ') and ((Titel like '+quotedstr(suchwort)+') or (Interpret like '+ quotedstr(suchwort)+') or (Album like '+quotedstr(suchwort)+'))'; DataModule1.TbMusikDB.Filtered:=True; DataModule1.TbMusikDB.Active:=True; end |
Fehler in den Variablen mit ungültigen Variablen kann ich zu 97% ausschließen, da es ohne das "And" also mit einem "or" funktioniert. Wenn ich die Klammer nach dem "And" weglasse, dann kommt kein Fehler, jedoch macht er dann diese logische Verknüpfung.
Delphi-Quelltext
1: 2:
| ((Genre = '+quotedstr(suchgenre)+ ') and (Titel like '+quotedstr(suchwort)+')) or |
<-- Doppelklammer nur in Gedanken gesetzt