1 -
Le compactage en VBA n'est possible qu'à partir d'une autre
base que celle qu'on veut compacter.
2 -
Ecrire dans la procédure sous-jacente de l'évènement
"sur clic" d'un bouton:
If
Dir("C:\maBaseTMP.mdb") <> "" Then Kill
"C:\maBaseTMP.mdb"
DBEngine.CompactDatabase "C:\maBaseEnorme.mdb", "C:\maBaseTMP.mdb"
Kill "C:\maBaseEnorme.mdb"
Name "C:\maBaseTMP.mdb" As "C:\maBaseEnorme.mdb"
3 -
Ne marche que si personne n'est connecté à cette base.
(voir ici)
4 -
Mais !! Une autre solution:
"Outils
/ Options / Général / Compacter lors de la fermeture"
|