How to: Compact and Repair a Database

Access Developer Reference

The following procedure compacts and repairs a database, creates a log if there is any corruption in the source file, and returns a Boolean value based on whether the recovery was successful.

  Function RepairDatabase(strSource As String, _
        strDestination As String) As Boolean
        ' Input values: the paths and file names of
        ' the source and destination files.
' Trap for errors.
On Error GoTo error_handler

' Compact and repair the database. Use the return value of
' the CompactRepair method to determine if the file was
' successfully compacted.
RepairDatabase = _
    Application.CompactRepair( _
    LogFile:=True, _
    SourceFile:=strSource, _
    DestinationFile:=strDestination)

' Reset the error trap and exit the function.
On Error GoTo 0
Exit Function

' Return False if an error occurs. error_handler: RepairDatabase = False

End Function