Compactar y reparar BaseDatos.mdb desde otra

Necesito compactar y reparar mi base de datos DATOS SGR v2.0.mdb que está protegida por contraseña, quiero hacerlo por VBA desde SG RADIO v2.0.mdb, pero todos los intentos que he hecho han fracasado debido a que, como le decía, DATOS SGR v2.0.mdb tiene contraseña y no la puedo divulgar porque si no se pierde la protección, le pregunto: hay alguna manera de hacerlo.

1 Respuesta

Respuesta

Pruebe con este código

Sub CompactarRepararBD()
    Dim dbEngine As Object
    Dim db As Object
    Dim sourceDbPath As String
    Dim targetDbPath As String
    Dim password As String
    ' Ruta de la base de datos a compactar y reparar
    sourceDbPath = "C:\Ruta\DatosSGRv2.0.mdb"
    ' Ruta y nombre de la base de datos compactada y reparada
    targetDbPath = "C:\Ruta\DatosSGRv2.0_Compactada.mdb"
    ' Contraseña de la base de datos
    password = "TuContraseña"
    ' Crear una instancia del objeto DBEngine
    Set dbEngine = CreateObject("DAO.DBEngine")
    ' Abrir la base de datos con la contraseña
    Set db = dbEngine.OpenDatabase(sourceDbPath, False, False, ";PWD=" & password)
    ' Compactar y reparar la base de datos
    dbEngine.CompactDatabase sourceDbPath, targetDbPath, ";PWD=" & password
    ' Cerrar la base de datos
    db.Close
    ' Liberar los objetos
    Set db = Nothing
    Set dbEngine = Nothing
    MsgBox "La base de datos se ha compactado y reparado con éxito."
End Sub

En el código anterior, deberá reemplazar la ruta de la base de datos original (sourceDbPath) y la ruta de la base de datos compactada y reparada (targetDbPath) con las rutas de tus archivos. Además, debe proporcionar la contraseña correcta en la variable password.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas