Access : Fichier inexistant

  • 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 :