Hallo Fengi,
Index auf Datum legen, also Tabelle nicht sortieren sondern nur indizieren (geht schneller):
Code:
procedure TFTermin.Indexneuaufbauen1Click(Sender: TObject);
begin
Tab1.Close;
Tab1.Exclusive := true;
Tab1.Open;
Tab1.IndexDefs.Clear;
Tab1.IndexDefs.Update;
Tab1.AddIndex('','ID', [ixPrimary]); // ID vom Typ ftAutoInc evtl. Deine Terminnummer
Tab1.IndexDefs.Update;
Tab1.AddIndex('Datum', 'Datum;Zeit', [ixCaseInsensitive]); // Datum; Uhrzeit
Tab1.IndexDefs.Update;
Tab1.AddIndex('Such', 'Such', [ixCaseInsensitive]); // Beschreibung
Tab1.IndexDefs.Update;
Tab1.Close;
Tab1.Exclusive := false;
Tab1.Open;
end;
Du mußt natürlich Deine Feldbezeichner verwenden. Falls Du kein Feld ID für den PrimärIndex hast, ergänze Deine
DB (ID muß 1. Feld in der Liste sein) oder denk' Dir ein anderes Feld als Primärindex aus.
Anwendung:
Code:
const
ixDatum = 'Datum';
procedure TFTermin.FormActivate(Sender: TObject);
begin
....
UP_DBActiv(Tab1,SessN,DataPath,fnTermin); // Termin-
DB öffnen
try
Tab1.IndexName := ixDatum;
except
Indexneuaufbauen1.Click;
Tab1.IndexName := ixDatum;
end;
....
mfg
eddy