This code can be used to compact and repair an Access 97 database
using VB.

===============================================================

Private Sub mnuCompact_Click()
Screen.MousePointer = vbHourglass
Dim OldName, NewName
DBEngine.CompactDatabase App.Path & "\database.mdb", App.Path & "\database1.mdb", , , ";pwd=psw"
Kill App.Path & "\database.mdb" 'Delete the uncompacted Database
OldName = App.Path & "\database1.mdb": NewName = App.Path & "\database.mdb"
Name OldName As NewName ' Rename database back to orignal name
Screen.MousePointer = vbDefault
MsgBox "Database has been compacted!"
End Sub


Private Sub mnuRepair_Click()
Screen.MousePointer = vbHourglass
Dim errLoop As Error
On Error GoTo RepairError
DBEngine.RepairDatabase App.Path & "\database.mdb"
Screen.MousePointer = vbDefault
RepairError:
Screen.MousePointer = vbDefault
For Each errLoop In DBEngine.Errors
MsgBox "Repair unsuccessful!" & vbCr & _
"Error number: " & errLoop.Number & _
vbCr & errLoop.Description

Next errLoop
End Sub