procedure CompactarBaseDeDatos (BaseDeDatos,contrasena : string);
var DBEngine : OLEVariant;
Begin
try
DeleteFile(BaseDeDatos + '2');
DbEngine := CreateOleObject('Dao.DbEngine.35');
DbEngine.CompactDataBase(BaseDeDatos, BaseDeDatos + '2', NULL, 0, ';pwd='+contrasena);
DeleteFile(BaseDeDatos);
RenameFile(BaseDeDatos + '2', BaseDeDatos);
except
try
DeleteFile(BaseDeDatos + '2');
DbEngine := CreateOleObject('Dao.DbEngine.36');
DbEngine.CompactDataBase(BaseDeDatos, BaseDeDatos + '2', NULL, 0, ';pwd='+contrasena);
DeleteFile(BaseDeDatos);
RenameFile(BaseDeDatos + '2', BaseDeDatos);
except
try
DeleteFile(BaseDeDatos + '2');
DbEngine := CreateOleObject('Dao.DbEngine.120');
DbEngine.CompactDataBase(BaseDeDatos, BaseDeDatos + '2', NULL, 0, ';pwd='+contrasena);
DeleteFile(BaseDeDatos);
RenameFile(BaseDeDatos + '2', BaseDeDatos);
finally
end;
end
end;
end;