Aller au contenu principal

Exporter les objets MS Access

Versionnez facilement votre base de données MS Access ! Exportez tout le code VBA, les formulaires, modules, requêtes et rapports vers des fichiers plats grâce à un simple script VBS, prêt pour GitHub.

· 3 minutes de lecture
Voir la source
Christophe
Amoureux de Markdown, WSL et Docker ~ Curieux insatiable.
Cet article existe aussi en anglais — lire la version originale.

Traduction automatique

Cette traduction a été produite par une IA. Elle peut contenir des contresens ou des maladresses, en particulier sur les termes techniques. En cas de doute, consultez l'article de référence en anglais — c'est lui qui fait foi.

Journal des modifications

Dernière
GitHub repo cavo789/vbs_access_export is archived (read-only); VBS script remains functional and downloadable.

Exporter les objets MS Access

⚡
TL;DR

Cet article présente un script VBS qui exporte tous les objets — formulaires, modules, requêtes, rapports et macros — d'une base de données Microsoft Access vers des fichiers texte individuels. Les développeurs peuvent ainsi versionner facilement le code source de leur application Access avec des outils comme Git et GitHub. Le script organise automatiquement les fichiers exportés dans un dossier src structuré, en créant un fichier distinct par objet. Suivre les changements et conserver un historique de la conception et de la logique de la base devient simple.

Il y a longtemps, dans une vie antérieure, j'ai développé beaucoup de bases de données MS Access et, contrairement aux outils modernes, il n'était pas possible de versionner le code (modules, macros, requêtes, etc.) dans un outil comme GitHub.

Ces objets font partie intégrante de la base de données, au même titre que les tables et leurs données. Tout est stocké dans le format .mdb (ou .mda ou .accdb). Si vous voulez les versionner, vous devez d'abord les extraire.

Deux autres articles MS Access sur ce blog : VBS - Récupérer la liste des champs d'une base de données MS Access pour auditer la structure, et Comment optimiser une base de données MS Access existante pour agir sur les résultats.

Voyons comment faire.

Exemple​

En lançant cscript vbs_access_export.vbs C:\Christophe\db1.mdb dans une console DOS, vous obtiendrez ceci :

>Powershell

Une fois terminé, vous aurez un sous-dossier src avec un fichier par objet : indirectement, vous disposez donc d'une sauvegarde de votre code 👌.

Description​

Mon script VBS https://github.com/cavo789/vbs_access_export exporte tous les objets de code (formulaires, macros, modules, requêtes et rapports) d'une base de données / application MS Access vers des fichiers plats sur votre disque.

Vous obtenez ainsi une sauvegarde rapide de votre code et vous pouvez le synchroniser sur une plateforme de versioning comme GitHub.

Le script démarre MS Access (en mode caché), ouvre la base spécifiée, traite chaque objet de code et les exporte un par un dans un dossier \src\your_database.mdb.

Le dossier src est créé automatiquement si nécessaire et vous y trouverez un sous-dossier portant le même nom que votre fichier (vous pouvez donc avoir plusieurs fichiers exportés dans le même dossier src).

Installation​

Récupérez simplement une copie du script VBS https://github.com/cavo789/vbs_access_export, et éventuellement le .cmd aussi (pour vous faciliter la vie), puis enregistrez-les dans le même dossier que votre base de données.

Utilisation​

Éditez le fichier .cmd et vous verrez comment ça fonctionne : il suffit de lancer le .vbs avec un seul paramètre, le nom de votre base de données — la même commande que celle montrée en début d'article.

Conclusion​

Un seul script VBS transforme formulaires, modules, requêtes, rapports et macros — tout ce qui vivait uniquement dans le fichier .mdb/.accdb — en fichiers plats que vous pouvez committer sur GitHub, comparer et suivre comme n'importe quelle autre base de code. Vous travaillez souvent avec des fichiers bourrés de VBA ? Voyez aussi MS Excel - Obtenir la liste des références utilisées dans vos modules, Comment optimiser une base de données MS Access existante et VBS - Récupérer la liste des champs d'une base de données MS Access.


🦋 Rejoignez la conversation sur BlueskyUn compte Bluesky gratuit est nécessaire pour aimer, repartager ou commenter. Ce bloc interroge l'API publique de Bluesky directement depuis votre navigateur (sans cookie, sans connexion) — votre adresse IP parvient donc aux serveurs de Bluesky dès que cette section se charge.

Chargement des commentaires…

Cet article vous a-t-il été utile ?
Avez-vous suivi les étapes de cet article ?