Форум: "Базы";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
ВнизПереиндексация dbf Найти похожие ветки
← →
poma121 (2002-08-09 16:32) [0]Есть две одинаковые таблицы, но с разными данными.Подключаю то одну то другую как переиндекировать........
Заранее благодарен.
← →
Leran2002 (2002-08-09 16:45) [1]Если у вас установлена библиотека RXLib то переиндексацию можно сделать так:
Uses BdeUtils;
procedure TForm1.Button2Click(Sender: TObject);
begin
ReindexTable(Table1);
end;
Если же у вас RXLib не установлена, то вот вам функция переиндексации:
Uses BDE;
procedure ReindexTable(Table: TTable);
var
WasActive: Boolean;
WasExclusive: Boolean;
begin
with Table do begin
WasActive := Active;
WasExclusive := Exclusive;
DisableControls;
try
if not (WasActive and WasExclusive) then Close;
try
Exclusive := True;
Open;
Check(dbiRegenIndexes(Handle));
finally
if not (WasActive and WasExclusive) then begin
Close;
Exclusive := WasExclusive;
Active := WasActive;
end;
end;
finally
EnableControls;
end;
end;
end;
При тестировании данного примера проект также необходимо закрыть, а то Дельф будет блокировать таблицу.
При переиндексации все имеющиеся индексы таблицы создаются по новой.
Надеюсь помог.
← →
elv (2002-08-09 17:32) [2]Если RXLiba нет, удали index и создай заново.
← →
Desdechado (2002-08-10 18:48) [3]подключай индекс из той таблицы, которая активна в данный момент - и он будет актуален
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c