Compactar al salir

Es posible hacer una macro para compactar una bbdd sin tener que darle un nombre una carpeta, etc.
La bbdd cada vez que la cierra el usuario crece de forma desmesurada y en pocos días, unos 15 alcanza un Gb.

1 respuesta

Respuesta
1
A continuación te muestro la ayuda de Access para que veas como se repara y/o compacta una base de datos desde el código.
Puedes emplear este método para solucionar tu problema:
Método CompactRepair
Vea también Se aplica a Ejemplo Específicos
Compacta y repara la base de datos especificada (.mdb) o el archivo de proyecto de Microsoft Access (. Adp). Devuelve un Boolean; Verdadero si el proceso se ha realizado correctamente.
Expresión. CompactRepair(ArchivoOrigen, ArchivoDestino, ArchivoRegistro)
Expresión Requerida. Expresión que devuelve uno de los objetos de la lista Aplicar a.
ArchivoOrigen String requerida. La ruta de acceso completa y el nombre de archivo de la base de datos o archivo de proyecto que se va a compactar y reparar.
ArchivoDestino String requerida. La ruta de acceso completa y el nombre de archivo donde se guardará el archivo recuperado.
ArchivoRegistro Boolean opcional. Verdadero si se crea un archivo de registro en el directorio de destino para registrar cualquier corrupción detectada en el archivo de origen. Se crea un archivo de registro sólo si se detecta una corrupción en el archivo de origen. Si ArchivoRegistro es Falso o se omite, no se crea ningún archivo de registro, incluso si se detecta una corrupción en el archivo de origen.
Comentarios
El archivo de origen no debe ser la base de datos actual o no debe abrirlo ningún otro usuario, ya que al llamar a este método, se abrirá el archivo en modo exclusivo.
Ejemplo
El ejemplo siguiente compacta y repara una base de datos, crea un registro si hay alguna corrupción en el archivo de origen y devuelve un valor Boolean si la ejecución de la recuperación ha sido correcta. Para que el ejemplo funcione, debe indicarle las rutas de acceso y los nombres de los archivos de origen y de destino.
Function RepairDatabase(strSource As String, _
strDestination As String) As Boolean
' Input values: the paths and file names of
' the source and destination files.
' Trap for errors.
On Error GoTo error_handler
' Compact and repair the database. Use the return value of
' the CompactRepair method to determine if the file was
' successfully compacted.
RepairDatabase = _
Application.CompactRepair( _
LogFile:=True, _
SourceFile:=strSource, _
DestinationFile:=strDestination)
' Reset the error trap and exit the function.
On Error GoTo 0
Exit Function
' Return False if an error occurs.
error_handler:
RepairDatabase = False
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas