Reparar e compactar um banco de dados Access com Delphi

Reparar e compactar um banco de dados Access com Delphi

Quem já trabalhou com o Ms Access, alguma vez já teve que compactar ou reparar um banco de dados (Extensão MDB).
O recurso de compactar é essencial , uma vez que o banco de dados começa a ficar grande demais.

O código abaixo realiza estas rotinas automaticamente pelo seu aplicativo em Delphi, sem a necessidade de entrar no Access para executar tal procedimento.

Veja abaixo um exemplo de como utilizar o DAO para compactar um MDB e logo após um outro para reparar um arquivo MDB.

// COMPACTA UM BANCO DE DADOS MDB

var
dao: OLEVariant;
begin
dao := CreateOleObject(‘DAO.DBEnginge.36’);
dao.CompactDatabase(‘c:\banco1.mdb’, ‘c:\banconew.mdb’);
end;

// RECUPERA UM BANCO DE DADOS MDB

var
dao: OLEVariant;
begin
dao := CreateOleObject(‘DAO.DBEnginge.36’);
dao.RepairDatabase(‘c:\nomedobanco.mdb’);
end;

Caso o mdb esteja protegido com senha, é necessário informa-la ao DAO :

dao.DefaultPassword := ….
dao.CompactDatabase(…)

Estamos criando o objeto de automação a partir da string ‘DAO.DBEngine.36’. Verifique a versão do DAO utilizada, caso seja 3.5 utilize a string ‘DAO.DBEnginge.35’.

Posts Similares