var
BD : OLEVariant;
BaseDatos, Clave:string;
Begin
BaseDatos := ExtractFilePath(Application.ExeName) + 'MisDatos.mdb';
Clave := txtClave.Text;
try
DeleteFile(BaseDatos + '2');
BD := CreateOleObject('Dao.DbEngine.35');
BD.CompactDataBase(BaseDatos, BaseDatos + '2', NULL, 0, ';pwd=' + Clave);
DeleteFile(BaseDatos);
RenameFile(BaseDatos + '2', BaseDatos);
except
try
DeleteFile(BaseDatos + '2');
BD := CreateOleObject('Dao.DbEngine.36');
BD.CompactDataBase(BaseDatos, BaseDatos + '2', NULL, 0, ';pwd=' + Clave);
DeleteFile(BaseDatos);
RenameFile(BaseDatos + '2', BaseDatos);
except
try
DeleteFile(BaseDatos + '2');
BD := CreateOleObject('Dao.DbEngine.120');
BD.CompactDataBase(BaseDatos, BaseDatos + '2', NULL, 0, ';pwd=' + Clave);
DeleteFile(BaseDatos);
RenameFile(BaseDatos + '2', BaseDatos);
finally
end;
end
end;