- Gros plantage.
- Suite à un peu de « ménage » dans les modules VBA inutiles alors que la liaison réseau était chancelante je me retrouve dans la situation suivante :
- Les modules supprimés ont disparus du panel ACCESS mais sont toujours là dans le panel VBA : Impossible de les supprimer dans VBA et impossible de les utiliser dans ACCESS.
- La copie de la base généré la même erreur
- De multiple compactage/réparation sont sans effets.
- Solution : décompilation/recompilation de la base :
- « path to ACCESS » « Path to Base » /decompile
- Essai sur la copie de la base
-
"C:\Program Files\Microsoft Office\Office15\MSACCESS.EXE" "N:\DEGP\VAL_DE_FRANCE_TRANSACTIONS\CRM_VDFT\CRM_VDFT - Copie.accdb" /decompile
- Message prévenant de la suppression de TOUS les modules VBA !!
- J’accepte et récupérerai le code dans la version originale.
- Surprise les modules sont encore tous visibles … mais inaccessibles. Au lieu d’en avoir un seul plantés … ils le sont tous.
- Compactage et réparation de la base.
- Sans effet !
- Je supprime l’appel à la fonction du module disparue dans la macro de démarrage AutoExec qui est maintenant vide.
- Et relance un compactage.
- Pas d’effet apparent …. mais je peux supprimer les modules dans le panel ACCESS.
- Dans VBA les modules ont tous disparus
- Les requêtes s’ouvrent bien dans ACCESS et cela confirme ce que je craignais : le travail de la journée d’hier est perdu !
- Il ne reste plus qu’a exporter les modules de la base d’origine et les réimporter dans la base copie ….
- Note pour moi même :
- NE PAS MÉLANGER le VBA de 2 applis MSFT différentes !!!
- Leçon :
- Faire des sauvegardes incrémentales de la base !!
- Backup_Base.bat
set jour=%date:~0,2% set mois=%date:~3,2% set annee=%date:~6,4% set madate=%annee%%mois%%jour% echo %madate%
- Bblio :