Пересборка индексов с помощью TBatchMove
... вы все делаете правильно. BatchMove не может пересобирать индексы. Тем не менее, следующая процедура все же поможет вам сделать это (создать индексы заново). Задайте ей необходимые параметры (.DBF. Name, исходная и целевая таблица, Source и Target) и попробуйте ее в деле!
procedure TForm1.FormCreate(Sender: TObject); var x : integer ; begin BatchMove1.Execute ; Source.Open ; Target.Exclusive := True ; Target.Open ; Source.IndexDefs.Update ; for x := 0 to Source.IndexDefs.Count - 1 do Target.AddIndex(Source.IndexDefs[x].Name, Source.IndexDefs[x].Fields, Source.IndexDefs[x].Options) ; Source.Close ; Target.Close ; end; |
[001331]