Il suffit de jeter un coup d'œil sur les forums d'assistance MS Access pour en déduire que le "plantage inattendu de l'application" est l'un des problèmes les plus fréquents et les plus frustrants auxquels sont confrontés les utilisateurs d'Access. Et cela peut se produire à tout moment et avec n'importe quelle version d'Access, lors de l'ouverture/fermeture de fichiers Access 2010 / 2013 ou lors de l'utilisation de rapports.
Mais pourquoi cela se produit-il ? Pourquoi MS Access se bloque-t-il sans préavis alors que tout fonctionnait parfaitement la veille ?
Raisons courantes du blocage d'une base de données Access
Les raisons les plus courantes d'un plantage de la base de données Access sont les suivantes :
- Une corruption dans l'un des rapports de la base de données peut provoquer un blocage au moment du lancement.
- Un code erroné dans un rapport peut entraîner l'arrêt soudain du processus MSACCESS.EXE. C'est l'une des principales raisons pour lesquelles Access ne cesse de se bloquer lors de l'ouverture de rapports.
- Les conflits avec le programme anti-virus en cours d'exécution sur votre machine peuvent également être l'une des principales raisons pour lesquelles Microsoft Access ne cesse de se bloquer.
Si vous avez été confronté à des plantages fréquents lorsque vous travaillez avec MS Access, la cause réelle de ces plantages pourrait bien être l'une des raisons mentionnées ci-dessus. Pour résoudre le problème, utilisez l'une des techniques mentionnées dans la section suivante.
Solutions au problème "Microsoft Access ne cesse de se bloquer".
En commençant par les solutions les plus simples, voici tout ce que vous pouvez essayer de faire pour réparer les fichiers de base de données MS Access :
1. Arrêter le programme anti-virus
Essayez d'arrêter votre programme antivirus pendant toute la durée de votre travail sur MS Access, en particulier sur les rapports, et voyez si cela vous aide. Vous pouvez également essayer de vous déconnecter d'Internet pendant toute la durée de votre travail sur la base de données Access afin d'éviter les scénarios de conflit. Une fois votre travail terminé, n'oubliez pas de réactiver l'antivirus.
2. Décompiler puis recompiler la base de données
Essayez de décompiler la base de données, puis de la recompiler. Pour ce faire, vous pouvez utiliser la procédure suivante :
- Créer un raccourci qui charge la base de données avec le commutateur "/decompile".
- Maintenez la touche Majuscule enfoncée lorsque vous double-cliquez sur ce raccourci pour éviter les exécutions automatiques et accéder directement à la fenêtre de navigation.
- Une fois la base de données chargée, cliquez sur le bouton "Compacter et réparer".
- Maintenez à nouveau la touche Maj enfoncée pendant que la base de données se recharge.
- Compilez maintenant le code et sauvegardez-le.
Après avoir exécuté ces étapes, vérifiez si le problème persiste.
3. Importer les objets de la base de données dans une nouvelle base de données vide et y recréer le rapport.
Essayez de déterminer quel rapport est à l'origine du problème en étudiant le rapport de panne ou le journal des erreurs. Une fois que vous l'avez fait, prenez une copie de sauvegarde du fichier de la base de données Access et supprimez le rapport en question. Créez ensuite une nouvelle base de données vide et importez-y tous les objets de l'ancienne. Recréez ensuite le rapport et vérifiez si le problème persiste.
Remarque : si le rapport en question est trop complexe pour être reconstruit à partir de zéro, vous pouvez également le restaurer à partir d'une copie de sauvegarde précédemment enregistrée.
4. Vérifiez l'utilisation de la mémoire de votre système
Si la base de données Access se bloque lors de l'ouverture de rapports sur quelques machines seulement, il se peut que vous soyez confronté à un problème de mémoire insuffisante. Utilisez une application de vérification de l'utilisation de la mémoire pendant vos heures de travail habituelles. Cela devrait vous aider à établir que vous ne chargez pas inutilement vos machines.
5. Supprimer les données binaires des rapports
Si les pannes se produisent dans un seul rapport sur différents ordinateurs et avec différents utilisateurs, elles peuvent être dues à des données binaires corrompues dans le rapport. Supprimez les données binaires de ces rapports en procédant comme suit :
- Enregistrez le rapport d'anomalie au format texte, puis ouvrez-le dans le Bloc-notes.
- Supprimez la ligne "Checksum=" et effacez les données binaires. Recherchez les lignes contenant les mots "Parameter = Begin" au début et "End" à la fin et supprimez toutes ces lignes du début à la fin. Supprimez également les paramètres tels que NameMap, PrtMip, PrtDevMode, PrtDevNames, PrtDevModeW, PrtDevNamesW, etc.
- Parcourez le reste du fichier et identifiez le code du module VBA s'il y en a un. Supprimez-le également.
- Enregistrez le fichier, puis chargez à nouveau le rapport dans Access à l'aide de l'option Application.LoadFromText.
- Exécuter une décompilation suivie d'un compactage et d'une réparation suivis d'une recompilation.
- Rouvrez maintenant le rapport et, avec un peu de chance, tout devrait fonctionner correctement.
6. Supprimer les champs OLE Object, puis reconstruire la base de données entière.
Si votre base de données Access contient des images ou d'autres champs d'objets OLE, cela peut souvent donner lieu à des problèmes tels que le plantage permanent d'Access lors de l'ouverture de rapports. Si vous devez stocker des données d'image, il est préférable de stocker le nom du fichier et d'enregistrer les images dans un emplacement standard. Une fois que vous avez fait cela, reconstruisez l'ensemble de la base de données à partir de zéro. Cela prendra beaucoup de temps et c'est une approche assez épuisante, mais cela pourrait donner un nouveau départ à votre base de données.
7. Réparer une base de données Access
Si aucune des techniques mentionnées ci-dessus ne fonctionne ou si vous n'avez pas le temps ou les ressources nécessaires pour reconstruire entièrement la base de données, la réparation de la base de données Access à l'aide d'une application automatisée compétente peut être une bonne idée. Nous vous recommandons d'utiliser Stellar Repair for Access à cette fin. Soutenu par des algorithmes d'analyse et de réparation avancés, ce logiciel réparera les rapports endommagés et autres corruptions ou erreurs dans votre base de données Access et vous aidera à vous débarrasser définitivement des problèmes tels que "Microsoft Access ne cesse de se bloquer".
Réflexions finales
Nous espérons que les solutions mentionnées ci-dessus vous aideront à éviter les problèmes liés à MS Access dans un avenir proche. En prime, conservez toujours des sauvegardes redondantes de vos fichiers de base de données et évitez d'utiliser des rapports et des formulaires trop complexes dans votre base de données. Trouvez d'autres approches pour l'utilisation des objets OLE et des données binaires afin que votre base de données Access ne soit pas bloquée par ces objets. Gardez également à portée de main un produit fiable comme Stellar Repair for Access pour réparer les fichiers de base de données en cas de problèmes graves.