... вы все делаете правильно. 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]