Você deverá utilizar o objeto DBEngine do DAO para poder compactar e reparar o banco de dados. O método do DBEngine para Compactação é RepairDatabase e o método para compactação é CompactDatabase, onde deverá ser informado o banco de dados origem e o banco de dados destino, ou seja, o destino seria o banco de dados já compactado. Segue abaixo um exemplo:
Private Sub Form_Load()
Reparar "C:CaminhoBancoDeDados.mdb"
Compactar "C:CaminhoBancoDeDados.mdb", "C:CaminhoXBancoDeDados.mdb"
End Sub
Private Sub Reparar(Nome As String)
On Error GoTo Erro
DBEngine.RepairDatabase Nome
MsgBox "Banco de dados reparado com sucesso", vbInformation, "Reparar banco de dados"
Exit Sub
Erro:
MsgBox Err.Number & " - " & Err.Description, vbCritical, "Reparação falhou"
End Sub
Private Sub Compactar(Origem As String, Destino As String)
On Error GoTo Erro
DBEngine.CompactDatabase Origem, Destino
MsgBox "Banco de dados compactado com sucesso", vbInformation, "Compactar banco de dados"
Exit Sub
Erro:
MsgBox Err.Number & " - " & Err.Description, vbCritical, "Compactação falhou"
End Sub