La Web del Programador: Comunidad de Programadores
 
    Pregunta:  1448 - COMPACTAR BASE DE DATOS
Autor:  Ronald Martinez
Deseo compactar mi base de datos con un botón desde un formulario, me gustaria saber si existe otra forma de compactar/reparar una base de datos access (mediante codigo), sin ir al menú Herramientas->utilidades de la base de datos->compactar base de datos. Mi idea es crear un menú mantenimiento y colocar los botones reparar base de datos y compactar base de datos.

  Respuesta:  Ricardo Adolfo Rivas Rincon
Una solución muy practica es en herramientas -> opciones -> General marcas la casilla de veificación "Compactar al cerrar", de esta forma cada vez que se cierre la base de datos se hara el proceso de compactar sin intervencion del usuario.

Cordial Saludo

  Respuesta:  Francisco Enfedaque Alfonso
Otra solucion es, crear un acceso directo de access, para que abra tu base de datos y añadirle en la linea de comandos las opciones "/compact /repair". Asi lo que consigues es que cada vez que quieras reparar y compactar la Base de datos, ejecutas ese acceso directo, te abre Access, lo ejecuta y acto seguido te cierra el access.

  Respuesta:  Rafael Fernandez
La solución de crear una macro con la acción Ejecutar código: Compactar base de datos no me dió ningún resultado en Access2000, aún cuando el programa permite esta acción.
La solución por la que opté finalmente,era no crear un formulario de mantenimiento,y conseguir un autocompactado automático para mi base de datos y para cualquier ordenador en que se ejecutara la bdd. Además se libraba al usuario de la tarea del mantenimiento.
Para ello solo tienes que establecer la opción "Compactar al cerrar" del menú Herramientas de Access2000, pero através de código. Esto es en el formulario de inicio de la base de datos (por ejemplo) introduce en el evento "Al cargar" la siguiente linea de código:

Application.SetOption "Auto Compact", True

Siempre que la base de datos se abra se establecerá esta opción, y al cerrar la bdd se autocompactará sola.

  Respuesta:  Aldo Rodríguez
Crea una macro que realice esa tarea y luego asignasela al botón, para crear la macro debes utilizar la acción ejecutar comando y luego elegir compactar y reparar base de datos.
Espero haber ayudado, y si tienes alguna duda no dudes en escribirme, suerte