Hi
Ob nun cFilter oder SQLSatz, die Vorgehensweise ist die gleiche. Vielleicht schaust du mal unter Tutorials nach, da hab ich mal den Zugriff auf eine Datenbank versucht zu beschreiben. Möglicherweise hilft's. Übrigends, komplizierte Zugriffe lassen sich mit hilfe von
Query-Objekten lösen, indem man diese mit rechter Maustaste anklickt. Man bekommt den
SQL Editor. Nun kann man die Tabellen laden, die man braucht, Verbindungen sowie Bedingungen einrichten und anschließend sich den
SQL-Satz ansehen. Diesen in einen String geschrieben und über die
SQL.Add-Methode ener
Query zugefügt. Wichtig ist nur, das bevor ein
Query.SQL.Add(...) durchgeführt wird, der Aufruf
Query.SQL.Clear durchgeführt wird. Ansonsten addieren sich die
SQL-Anweisungen und dann ist klar, kann's nicht mehr funktionieren. Übrigends, auf das Close kann lt. Delphi verzichtet werden, da ein
Query.SQL.Clear ein
Query.Close automatisch durchführt. Aber darauf hab ich bisher auch nicht gesetzt, da ein Close nicht schadet.
Wie gesagt: auch wenn einige
SQL-Handbücher immer wieder das *-Zeichen als Platzhalter angeben, wenn's funktionieren soll, muß dafür ein % stehen. So geht auch ein Like statt einem Where.
Übrigends, was mir auffällt, das du den Syntax SQLSatz:=' Select * from "TabellenName" Where ....' benutzt. Nun ja, diese Art geht vielleicht irgendwo, aber bisher hab ich immer, und das problemlos, SQLSatz:='Select * from '+TabellenName+' Where....' geschrieben. Wichtig sind die Leerzeichen, aber das siehst du, wenn du einen Haltepunkt auf die Zeile
Query.Open setzt. Dann kannst du dir den Inhalt deiner SQLSatz-Variable ansehen, wenn du mit der Maus darüber gehst und vielleicht die Fehler erkennen.
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !