La Web del Programador: Comunidad de Programadores
 
    Pregunta:  50105 - DESBLOQUEAR UNA BD DE ACCESS PARA COMPACTARLA DESDE DELPHI
Autor:  Jose Caceres
Necesito compactar una BD desde Delphi, he encontrado varios metodos, pero con todos me da el error de que no lo puede hacer porque la BD esta en uso en modo exclusivo por el usuario (nombre del usuario local), aunque yo desconecto y cierro la conexion ADO con el access y lo trabajo en una PC local, nada en red.

De que forma se tiene que abrir la BD, o de que forma se desconecta para que no me quede en uso.

Esto tambien lo necesito para poder reescribirla desde un respaldo de la misma.

  Respuesta:  Luis Felipe García Gutiérrez
Pues yo tenía el mismo problema y probé muchas formas para hacer lo mismo... la única solución que le encontré al problema fue desarrollar una aplicacación adicional que lo que hace es que cierra la aplicación que manipula la BD, verifa que la BD esté cerrada, sino la cierra; e inicia el proceso de compactación de la misma, cuando acaba se cierra por si sóla y abre nuevamente la aplicación que opera con la BD. Para el respaldo de la BD lo hago directamente con la aplicación macro, para ello no tengo ningún problema, lo que si hago para hacerla mas flexible es que almaceno el enrutamiento en un archivo plano que direcciono por código!

Espero les sea útil!!!