Laut Delphi-Hilfe ist das auch berechtigt:
Anmerkung: Die Methode Refresh funktioniert nicht bei allen von TDataSet abgeleiteten Klassen. Insbesondere TQuery-Komponenten unterstützen Refresh nicht, wenn die Abfrage nicht "live" ist. Um ein statisches TQuery-Objekt zu aktualisieren, schließen und öffnen Sie die Datenmenge.
Was ist der Unterschied zwischen "live" und "statisch" in diesem Fall?
Weiß jemand was das genau bedeutet? Hat das evtl. damit zu tun, wie das
SQL-Statement aufgebaut ist?
Live: Die Datenmenge kann bearbeitet werden. Normale
SQL-Abfrage
Statisch: Die Datenmenge kann nicht bearbeitet werden. z.B. wenn einer Abfrage aus Felder mehreren Tabellen zusammen gesetzt ist.