Mr Spock ,
ersteinmal danke für die ausführliche Antwort,aber das mit der
Exception lag nur daran dass ich die Tabelle nicht im Exclusive Modus geöffnet hatte.
Ich habe aber dennoch nochmal eine Frage und zwar:
Ich habe eine
Paradox 7 Tabelle der ich im Code einen Primärindex und zwei Sekundärindizes zuweise.
Delphi-Quellcode:
tblParadox.AddIndex('Primeindx','NAME',[ixPrimary,ixNonMaintained]);
tblParadox.AddIndex('Nameindx' , 'NAME' , [ixUnique]);
tblParadox.AddIndex('PLZindx' , 'PLZ' , [ixUnique]);
Sortiere nun nach dem Sekundärindex PLZindex:
Delphi-Quellcode:
tblParadox.Close;
tblParadox.IndexName:='PLZindx';
tblParadox.Open;
Nun möchte ich die Indizes löschen (also nur die Sekundärindizes) mit DeleteIndex....und es soll dann nach dem Primärindex wieder sortier werden.
Delphi-Quellcode:
tblParadox.Close;
tblParadox.Exclusive:=true;
tblParadox.DeleteIndex('Nameindx');
tblParadox.DeleteIndex('PLZindx');
tblParadox.Close;
tblParadox.Open;
Wenn ich diesen Schritt aber mache , so erhalte ich eine
Exception EDBEngineError.
Das Programm sortiert also nicht automatisch nach dem Primärindex , sondern scheint noch irgendwie die Information zu haben dass es nach PLZindx sortieren soll (dieser existiert ja aber nicht mehr).
Nun meine Fragen:
Wieso denkt das Programm noch dass es nach PLZindx sortieren soll , und wo steht diese Information (im Datei-Header vielleicht oder wo??)
Kann ich den Primärindex auch irgendwie löschen?(Über deleteindex geht das ja nicht)
Ich wäre über einen Lösungsvorschlag sehr erfreut.
PS:Lob an den jenigen der dieses tolle Forum in die Welt gesetzt hat und nochmal Danke an alle die mir schon gute Tips gegeben haben.
-DBman