ACCESS : Réparer un fichier accdb ou mdb

Avec Microsoft Access, il peut arriver d’avoir du code VBA lié aux formulaires ou aux états qui ne soit plus accessible ou qui provoque des erreurs inexplicables. C’est rageant ! Surtout que les moyens de réparation sont rares. Je vous livre ici une méthode qui, pour moi, a fait ses preuves dans de nombreux cas. Cela consiste à traiter le fichier avec deux commandes.

Attention vous devez traiter uniquement une copie de la base endommagée. C’est pour cette raison que le fichier est copié avant d’être traité.

Voici donc un batch (.cmd) qui peut être utilisé directement par Windows.

rem @echo off 
echo --------------- GUIDE D'UTILISATION -------------------------------- 
echo Copiez ce fichier dans le répertoire racine à traiter. 
echo Decompile et compacte le fichier. 
echo Enfoncé la touche Shift pour la première passe. 
echo -------------------------------------------------------------------- 
echo AUTEUR : FABRICE CONSTANS MVP 

copy %1 %1.sav 
SET NoExecuteApplication = "Oui" 
"C:\Program files\Microsoft Office\OFFICE14\MSACCESS.EXE" %1 /Decompile 
"C:\Program files\Microsoft Office\OFFICE14\MSACCESS.EXE" %1 /Compact 
SET NoExecuteApplication=

Faites-glisser la copie de votre application sur le batch en maintenant le shift appuyé pour éviter l’exécution du code. Lorsque la barre de progression d’Access est terminée fermez l’application pour démarrer le compactage. Vous décompilez (reconstruction des liens VBA) et compactez la base. Vous pouvez l’utilisé à partir de la version 97.

Notez que suivant la version d’Access vous devrez remplacer le chemin MSACCESS.EXE par le votre.

NoExecuteApplication permet à votre application de ne pas s’exécuter lors de ce traitement. Il faut dans l’application prévoir ce cas en utilisant ce code dans votre procédure de démarrage de l’application :

'debogage, decompil, compactage 
If Not Environ("NoExecuteApplication") = "" Then 
   'autres traitements possibles en post livraison 
   Application.Quit 
   'quitte 
End If

Bonne utilisation !

ACCESS : Contrôle OLE lié et application manquante

Dans les applications MS Access, il peut arriver d’avoir des contrôles OLE liés à des applications qui ne sont pas ou plus installées. Dans ce cas, toutes les tentatives d’interventions se soldent par le message :

Impossible de modifier cette propriété : elle est en lecture seule.

ou encore.

Le serveur OLE n'est pas inscrit. Pour l'inscrire, réinstallez-le.

Une seule méthode pour s’en débarrasser :

Clic-droit sur l’objet, Remplacer par…, Image

Un joli message s’affiche :

Vous ne pouvez pas annuler cette opération et ne pourrez plus modifier cet objet.

Cliquez sur Oui.

Votre objet est à nouveau accessible mais bien entendu, pas avec l’application originelle puisque celle-ci n’est pas installée.

Bonne utilisation !

Argentek une application de gestion de comptes gratuite pour PC

Suite à l’annonce de Microsoft de l’arrêt de la commercialisation et du support de Money, j’ai réalisé avec Microsoft Access l’application de gestion de comptes bancaires Argentek.

Cette application est libre d’utilisation mais ne peut être vendue ou faire l’objet d’une offre commerciale quelconque.

Suite à des abus de certains utilisateurs qui se sont appropriés le code sans mon autorisation, le code a été verrouillé.

Quelques fonctionnalités :

  • Multi compte
  • Solde en temps réel et par opération
  • Opérations automatisées avec déclenchement à date, par mois, trimestre, semestre, annuel
  • Opération de transfert entre compte
  • Gestion des tiers et catégorie
  • Création de compte illimitée
  • Création d’opération illimitée
  • Sauvegarde automatisée
  • Pointage des opérations
  • Protection des opérations pointées

Bonne utilisation !