puerba esto:
Dim dbE As New DAO.DBEngine ' Declare a new DBEngine variable
Dim x$ ' To capture the DIR return string
Dim sd As String
sd = App.Path & "\mi base de datos.mdb"
x = dir(App.Path & "\repairedDB.mdb")
If x <> "" Then Kill App.Path & "\repairedDB.mdb"
dbE.CompactDatabase sd, App.Path & "\RepairedDB"
Kill sd
Name App.Path & "\repairedDB.mdb" As sd
mi base de datos es el nombre de tu base de datos
debe estar cerrada y no tener password
activar referencia a microsoft dao 3.6 object library
adjunto archivo original