Como reindexar um banco Access 2000
uses
comobj, db, dbtables;
procedure TFormReindexar.Button1Click(Sender: TObject);
var
dao: OLEVariant;
begin
try
Panel1.Caption:='Compactando Tabela';
Panel1.Repaint;
dao := CreateOleObject('DAO.DBEngine.36');
dao.CompactDatabase(ExtractFileDir(Application.ExeName)+'\banco.mdb',
ExtractFileDir(Application.ExeName)+'\banco2.mdb','',0,';pwd=1203583');
Panel1.Caption:='Apagando Arquivo Temporário';
Panel1.Repaint;
if FileExists(ExtractFileDir(Application.ExeName)+'\banco2.mdb') then
DeleteFile(ExtractFileDir(Application.ExeName)+'\banco.mdb');
Panel1.Caption:='Renomeando Arquivo';
Panel1.Repaint;
if FileExists(ExtractFileDir(Application.ExeName)+'\banco2.mdb') then
RenameFile(ExtractFileDir(Application.ExeName)+'\banco2.mdb',
ExtractFileDir(Application.ExeName)+'\banco.mdb');
Panel1.Caption:='Arquivo Banco.mdb Compactado';
Panel1.Repaint;
except
panel1.caption:='Ocorreu um Erro durante a compactação';
end;
DataModule1.ADOConnection1.Connected:=true;
end;