Пересборка индексов с помощью TBatchMove
|
Два компа по сети связались, один - другому:
- Мой хозяин вчера на одном сайте таких девочек разглядывал - ну C:\ твою формать!
- Потише ты, без ненормативной лексики, у меня тут дети в "Тетрис" играют.
|
... вы все делаете правильно. 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;
|
|