Einzelnen Beitrag anzeigen

DBman

Registriert seit: 31. Mai 2003
Ort: nähe hannover
77 Beiträge
 
#6

...lag nur am ExclusiveMode ... aber noch mal eine Frage

  Alt 1. Jun 2003, 19:04
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
  Mit Zitat antworten Zitat