Estas en:
gratiszona
>>
trucos
>>
trucos access
trucos access: Compactar bases de datos
Metodo 1:
La creacion y el borrado de grandes cantidades de datos provoca que los archivos MDB crezcan sin limite. Para compactar una base de datos hay que abrir Access sin cargar ninguna base de datos y elegir Herramientas/Utilidades de la base de datos/Compactar base de datos. Solo resta seleccionar la base de datos deseada y proporcionar un nuevo nombre para ella, que sera una version compactada de la original.
Metodo 2:
Como la compactacion de una base de datos obliga a que la misma no este abierta, se puede crear una base de datos (a la que se puede llamar Compactador.MDB) en la que introducir un codigo muy sencillo para compactar nuestras bases de datos.
Se trata de crear un formulario con dos cuadros de texto a los que llamamos Directorio y BDNombre; en el 1º se introducira la ruta de acceso completa a la Base de datos que se desea compactar; y en el 2º, el nombre de la base de datos.
Crear un boton en el formulario al que llamamos BotCompactar y en su evento Al hacer click incluir el siguiente codigo:
On Error GoTo Err_BotCompactar
Dim NombreBaseDatos As String
Dim NombreBaseDatosCompactada As String
Dim NombreBaseDatosTrabajo As String
If Len(Dir(Directorio, vbDirectory)) = 0 Then
MsgBox "No existe el directorio especificado.", 48
DoCmd.GoToControl "Directorio"
Exit Sub
End If
If Right$(Directorio, 1) <> "\" Then
Directorio = Directorio & "\"
End If
If Len(Dir(Directorio & BDNombre)) = 0 Then
MsgBox "En el directorio introducido no existe la base de datos.", 48
DoCmd.GoToControl "BDNombre"
Exit Sub
End If
DoCmd.Hourglass True
NombreBaseDatos = Directorio & BDNombre
NombreBaseDatosCompactada = Directorio & "C_" & BDNombre
NombreBaseDatosTrabajo = Directorio & "T_" & BDNombre
If Len(Dir(NombreBaseDatosCompactada)) > 0 Then
Kill NombreBaseDatosCompactada
End If
DBEngine.CompactDatabase NombreBaseDatos, NombreBaseDatosCompactada
If Len(Dir(NombreBaseDatosTrabajo)) > 0 Then
Kill NombreBaseDatosTrabajo
End If
Name NombreBaseDatos As NombreBaseDatosTrabajo
Name NombreBaseDatosCompactada As NombreBaseDatos
Kill NombreBaseDatosTrabajo
DoCmd.Hourglass False
MsgBox "Base de datos compactada satisfactoriamente.", vbInformation
Exit Sub
Err_BotCompactar:
If Err <> 0 Then
DoCmd.Hourglass False
MsgBox Error
End If
End Sub
La funcion Dir permite saber si existe un directorio o un archivo en el ordenador o en nuestra red y devuelve una cadena de longitud cero en caso de que no exista lo que se busca. La compactacion se debe realizar siempre sobre otra base de datos y por eso se utilizan las funciones Name, que renombra un archivo, y Kill, que lo elimina. De lo que se trata es de borrar los archivos cuando la operacion acabo correctamente.
Metodo 3:
Crear un acceso directo para cada base de datos a compactar. En el acceso directo en el cuadro de texto Destino consignar:
"C:\Ruta\MSACCESS.EXE" "C:\Ruta\Base.mdb" /compact
En este caso habra que modificar las rutas de acceso para cada caso en particular.
Todo lo anterior es tal como se ha escrito, es decir, con dobles comillas incluidas. La compactacion se realiza sobre la misma base de datos una vez que se ha completado correctamente.
La compactacion de una base de datos Access 7.0 con una version posterior no convierte la base de datos a la nueva version, sino que la mantiene como Access 7.0.
Actualizado: 06/11/2008
Si has encontrado esta web de tu agrado, ¡ diselo a tus amigos ! Nos ayudas a cubrir gastos si con un simple SMS te bajas a tu movil un logo, un tono o una melodia polifonica desde:
www.gratiszona.com/moviles
www.conmovil.com
·
·