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’.