Ist das Problem vielleicht, dass Du
SQL.Clear vergessen hast.
Dann srteht nämlich das alte Select-Statement noch in der
Query und Du erlebst Böses, wenn Du einfach mit
SQL.ADD(MySelectString) Deine neue Abfrage hinzufügst.
Ich schreibe gerne
SQL.Text := MySelectString
In Delphi 7 gibt es ein TSimpleDataSet mit CommandText vom Typ String statt
SQL.
Der Vorschlag von MadMason ist natürlich auch nicht zu verachten, nur ist die Nachprogrammierung der visuellen Komponenten nicht so ganz einfach, insbesondere bei persistenten Feldern. Meine Erfahrung eines Wochenendes vor meinem Notebook stelle ich aber gerne zur Verfügung.