N´abend,
sorry, da gibt es prinzipbedingt keine Lösung mit TDBGrid. Hintergrund ist, das DBDataset die Daten immer Packetweise anfordert, was für die Datenbankansteurerung auch Sinn macht. Der Haken zeigt sich am DBGrid. Es läd die Datensätze nicht Zeilenweise zu. Der Scrollbalken ist zudem nicht proportional. Kann er auch nicht sein, da das Grid kein Wissen über die gesamte Menge der Abfrage hat und im Dataset diese auch nicht hinterlegt ist, sondern nur die Kriterien nach denemn nachgeladen wird, wenn man an das Ende/den Anfang des aktuellen Pakets kommt.
Eine Lösung wäre eine
SQL-Abfrage durchzuführen und die Daten von Hand in ein StringGrid einzulesen. Das kann bei großen Mengen aber zu erheblichen Speicherverbrauch führen und hier ist man daher gehalten diese Maximalmenge über die
Query von Hand zu begrenzen und wahrscheinlich vor der eigentlichen Abfrage zunächst ein Datensatztcount laufen zu lassen, um festzustellen wieviel Datensätze man nun zu erwarten hat.
FAZIT: Es ist ein Systemproblem und läßt sich nur auf Umwegen mit deutlichem Aufwand lösen.
Grüße // Martin