Questa procedura è tratta dal newsgroup it.comp.lang.delphi, inesauribile fonte di informazioni...
codice:
procedure CompactDatabase;
var
  MsJet: Variant;
begin
  MsJet := CreateOleObject('JRO.JetEngine');
  MsJet.CompactDatabase('Data Source=C:\prova.mdb;', 'Data Source=C:\provabak.mdb;');
  DeleteFile('C:\prova.mdb');
  RenameFile('C:\provabak.mdb', 'C:\prova.mdb');
end;
Non l'ho provata "fisicamente"...

Ciao!