Autor Beitrag
Luc1fer
Hält's aus hier
Beiträge: 10



BeitragVerfasst: So 23.01.11 11:38 
Moderiert von user profile iconNarses: 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:

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

ausblenden Delphi-Quelltext
1:
2:
((Genre = '+quotedstr(suchgenre)+
  '
and (Titel like '+quotedstr(suchwort)+')) or
<-- Doppelklammer nur in Gedanken gesetzt
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: So 23.01.11 14:38 
Versuche es doch mal damit:


ausblenden Delphi-Quelltext
1:
2:
3:
4:
  DataModule1.TbMusikDB.Filter:='(Genre = '+quotedstr(suchgenre)+') and ((Titel = '+quotedstr(suchwort+'*')+') or (Interpret = '+
   quotedstr(suchwort+'*')+') or (Album = '+quotedstr(suchwort+'*')+'))';
   DataModule1.TbMusikDB.Filtered:=True;
   DataModule1.TbMusikDB.Active:=True;


Was macht das "end" in Zeile 6?

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
Luc1fer Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: So 23.01.11 15:12 
Es kommt der gleiche Fehler und das gepostete ist nur ein Ausschnitt. Das End könnt ihr also vernachlässigen.