Compactar bd(access)

Amigo : gracias ante todo.
Tengo una base de datos creada en MS-Acesss; lo que quiero saber es como hago; mediante codificacion en visual basic 6.0 compactar la bd. ;
También si se puede mediante vb.6.0 (codificación) reemplazar todos los registro de una tabla por otra y crear los indices y relaciones.
Gracias por tu ayuda.

1 Respuesta

Respuesta
1
Te mando código para poder compactar la base, fíjate en el procedimiento CampactarBase que puse comentarios para que puedas guiarte, saludos...
Sub CompactarBase()
'Si la aplicación no es MDI, pasar por alto hasta bdMiBase.Close
'Aviso al usuario que se van a cerrar todas las ventanas
Dim i As Integer
i = MsgBox("Para compactar la base de datos, se cerrarán todos los formularios que estén abiertos", vbOKCancel, "Aviso")
If i = vbCancel Then Exit Sub
Screen.MousePointer = vbHourglass
'Si la aplicación es MDI cerrar todos los forms.
Dim F As Form
For Each F In Forms
If F.Name <> Me.Name Then
Unload F
End If
Next
DoEvents
'primero tengo que cerrar la base de datos
bdMiBase.Close
'Ahora compacto la base de datos en un archivo temporal
Dim ArchivoTmp As String
ArchivoTmp = App.Path & "\base.tmp"
DBEngine.CompactDatabase FileCompactarBase, ArchivoTmp
On Error GoTo Errores1
'Terminada la compactación, elimino el archivo original _
y renombre el archivo compactado
Kill FileCompactarBase
Name ArchivoTmp As FileCompactarBase
'Vuelvo a abrir la base de datos para que la aplicación siga funcionando
'es necesario que crees un procedimiento para abrir otra vez la base
'tal vez lo tengas en un Main, en mi caso se llama AbrirBase
AbrirBase
Screen.MousePointer = vbDefault
MsgBox "La base ya está compactada", vbInformation, "Finalizado"
Exit Sub
Errores1:
MsgBox "La Base Neptuno esta Activa por algún usuario,cierre la aplicacón", vbCritical, "Error 3356"
Exit Sub
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas