Scusa mi sono dimenticato una riga:

Public Function CompactDatabase(strDatabase As String, Optional varOutputDatabase As Variant) As Long

dim DBEngine as DataBase

Dim TempFile As String
TempFile = "C:\Temp"

On Error GoTo PROC_ERR

Set DBEngine = OpenDatabase(strDatabase)

DBEngine.CompactDatabase strDatabase, TempFile

Kill strDatabase
FileCopy TempFile, strDatabase
Kill TempFile

PROC_EXIT:
Exit Function