Hallo Crr,
das ist so nicht ganz richtig. Ein Sekundärindex ist oder mehrere Felder, die zur schnellen Suche und/oder Sortierung einer Tabelle genutzt werden können. Sekundärindices sind unabhängig vom Primärindex und können (müssen aber nicht) eindeutig sein. Wenn du bei einem TTable Objekt z.B. das Feld IndexName auf einen solchen Index setzt, wird die Tabelle automatisch nach diesem sortiert und du arbeitest immer auf derselben Tabelle.
Da du -wie ich gerade noch einmal gesehen habe- aber mit einer TQuery Komponente zur arbeiten scheinst, helfen Indices dabei nicht. Benutzt du aber das
SQL Statement nur zur Sortierung, sind Sekundärindices eine Alternative.
Musst oder willst du aber mit einer TQuery-Komponente arbeiten. Gibt es auch eine Möglichkeit. Du merkst dir die ID des Datensatzes, schließt die
Query, erzeugst die neue (mit der neuen Sortierreihenfolge), öffnest die
Query und benutzt Locate, um den vorher gewählten Satz wieder auszuwählen:
Delphi-Quellcode:
LastId := myQuery.FieldByName('
ID').AsInteger;
myQuery.Close;
{ neues SQL Statement erzeugen }
myQuery.Open;
myQuery.Locate('
ID', LastId, []);