RE:Compactar una BD Access desde Visual Basic con
A ver si esto te sirve:
Private Sub Command1_Click()
On Error GoTo Err_compact
Dim JRO As New JRO.JetEngine
Dim DB_sour As String, DB_dest As String
Dim filesis
DoEvents
MsgBox "Cerrar los distintos DATAENVIRONMENT que existan"
If DataEnvironment1.conexion1.State = adStateOpen Then
DataEnvironment1.conexion1.Close
End If
If DtEnvListados.Connection1.State = adStateOpen Then
DtEnvListados.Connection1.Close
End If
If DtEnvSupervisor.Connection1.State = adStateOpen Then
DtEnvSupervisor.Connection1.Close
End If
If DtEnvSeguridad.Connection1.State = adStateOpen Then
DtEnvSupervisor.Connection1.Close
End If
SOUR_path = "c:\kumaresh\tienda.mdb"
DB_sour = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SOUR_path & ";Jet OLEDB:Database Password=alberto1"
dest_path = "c:\kumaresh\compactada.mdb"
Set filesis = CreateObject("Scripting.FileSystemObject")
If filesis.fileexists(dest_path) Then ' Verifico que no existe la base de datos a compactar
filesis.deletefile (dest_path), True
End If
DB_dest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dest_path & ";Jet OLEDB:Database Password=alberto1"
JRO.CompactDatabase DB_sour, DB_dest
compactDB = True
MsgBox "base de datos compactada con éxito"
Exit Sub
Err_compact:
compactDB = False
MsgBox err.Description & Chr(13) & err.Number, vbExclamation
End Sub