Sauvegarder toutes les requêtes de la base de données

Peut-on sauvegarder, dans un fichier texte, le code SQL de toutes les requêtes de la base ?

Le principe

Si je réponds « Non » à la question du dessus, l’article se termine là, hop c’est fini… 🙂
Vous vous doutez bien qu’on peut effectivement enregistrer toutes les requêtes SQL de votre base Access dans un fichier ! On va le faire avec un peu de VBA…

Le code

Recopiez la procédure qui suit dans un module standard de votre base de données.

Important

L’exemple de code ci-dessus fait appel à la bibliothèque DAO (Microsoft DAO Object Library). Cette bibliothèque doit être associée à votre base de données pour que le programme fonctionne.Pour plus de détails sur les références, consultez cette page.

Tester le code

Pour déclencher la sauvegarde, vous pouvez :

  1. Faire apparaître la fenêtre Exécution (Ctrl + G).
  2. Y taper quelque chose comme ceci (le chemin doit être valide, et il diffère selon que vous êtes sur Windows XP ou Windows Vista / 7/ 8) :
    SauvegarderRequetes "C:\Users\VOTRE_NOM\DesktopTest.sql"
  3. Valider par la touche [Entrée].

Dans mon cas, j’obtiens sur le Bureau Windows un fichier Test.sql qui contient ce listing :

dump_sql.png

  • Par défaut, la procédure ajoute des commentaires SQL (c’est quand même plus facile pour se retrouver dans les requêtes !). Access ne gère pas ces commentaires, mais vous trouverez dans le Grenier, un article qui permet d’importer ce type de fichiers (voir : Importation d’un fichier SQL).
  • Et si vous ne souhaitez vraiment pas les commentaires, vous pouvez appeler la procédure de cette manière :
    SauvegarderRequetes "C:\Users\VOTRE_NOM\DesktopTest.sql", False
Pour info…

Le fichier n’est pas obligé d’avoir l’extension .sql, vous pouvez utiliser .txt si vous le souhaitez. C’est juste plus pratique :

  1. Pour différencier vos fichiers.
  2. Si vous ouvrez le fichier dans un éditeur de texte du type Notepad++ ou PSPad, qui appliquera la coloration syntaxique automatiquement.

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *