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.