Bueno, lo que te muestro a continuación no proviene del enlace de luisgutierrezb, y tampoco es ADO sino DAO, pero funciona con dos lineas
Código Delphi
[-]uses ComObj;
...
procedure TForm1.Button1Click(Sender: TObject);
var dao: OleVariant;
begin
MoveFile('Database1.mdb', 'Database1.bak');
dao := CreateOleObject('dao.dbengine.36');
dao.CompactDatabase('Database1.bak', 'Database1.mdb', ';langid=0x040A;cp=1252;country=0', 2, ';pwd=HAclave');
DeleteFile('Database1.bak');
end;
Saludos.