Home‎ > ‎

Compactar BD Access 2007

Sencillo ejemplo de como compactar una BD de Access 2007
 
Hasta los momentos no conozco ningun Codigo VBA que Compacte una BD Access 2007, estando esta abierta
y oculta la ventana principal asi como la cinta de opciones
 
Mas sin embrago con Access 2003 si se puede hacer, Usando la funcion CommandBars
 
El Codigo:
 
        CommandBars("Menu Bar").Controls("Herramientas").Controls _
        ("Utilidades de la base de datos").Controls _
        ("Compactar y reparar base de datos...").accDoDefaultAction

 
En 2007 podemos utilizar la funcion SendKeys, soli si tenemos la cinta de opciones Activada
 
El Codigo
 
SendKeys "%huo", False
 
Otra forma de compactar 2007 si tenemos oculta la Cinta de opciones y la ventana principal de Access, seria utilizar otra base de datos como Compactador y de alli llamar la Funcion CompactaBD
 
El Codigo
 
Function CompactaBD(strRutaBaseDatos As String) As Boolean
Dim strTemporal As String
On Error GoTo CompactaBD_TratamientoErrores
strTemporal = Environ("Temp") & "\TempDB" & Format(Now, "yymmddhhss") & ".accdb"
DBEngine.CompactDatabase strRutaBaseDatos, strTemporal
Kill strRutaBaseDatos
Name strTemporal As strRutaBaseDatos
CompactaBD = True
CompactaBD_Salir:
On Error GoTo 0
Exit Function
CompactaBD_TratamientoErrores:
Select Case Err.Number
Case 3356
 MsgBox "La Base de Datos está abierta, Por favor cierre todas" & vbCrLf & "las instancias de la base de datos e intentelo de nuevo", vbCritical + vbOKOnly, "ATENCION"
 Case Else
  MsgBox "Error " & Err & " en proc.: CompactaBD de Módulo: Módulo1 (" & Err.Description & ")", vbCritical + vbOKOnly, "ATENCION"
  End Select
  CompactaBD = False
  Resume CompactaBD_Salir
End Function

 
SelectionFile type iconFile nameDescriptionSizeRevisionTimeUser
ċ

Descargar
Descargue el Ejemplo  174 kb v. 1 27 may. 2009 12:38 Jefferson Jimenez
Comments