Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.02;
Скачать: CL | DM;

Вниз

Переиндексация 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-3492
AFROLOV
2002-08-21 11:40
2002.09.02
Как во время вып. прог. устан. обработчик на соб. и его снять


1-3399
Nikolai_S
2002-08-22 12:57
2002.09.02
Работа с MS Excel через COM в Дельфи


1-3397
Grande
2002-08-22 15:00
2002.09.02
Вопрос по ассемблеру


1-3464
Life
2002-08-19 12:38
2002.09.02
код символа


3-3318
Nazareth
2002-08-12 12:09
2002.09.02
Проблема с русскими полями в IB6