SQL-Interpreter-FR-(v4) a été développé sous la supervision du professeur (émérite) Jean Luc Hainaut de l'Université de Namur.
Vous devez pouvoir enrichir votre fichier MS Access du formulaire via exportation de ce dernier dans votre fichier accdb et importer le bon module VBA dans l’éditeur VBA de votre fichier accdb.
Cette application permet d’exécuter une séquence d’ordres SQL pour MS Access en mode DAO, c’est-à-dire en mode ANSI 89. Les marques de commentaires sont reconnues pour permettre de les ignorer. Elle complète la notion de requête qui ne peut exécuter qu’un seul ordre SQL Access.
Le fichier contenant la séquence d’ordres MS Access doit être encodé en ANSI si les données contiennent des accents.
téléchargement de l'archive.
Voici quelques précisions et manipulations :
SQL-Interpreter-FR-v4 est une application Microsoft Access vide (*.mdb, *.accdb) permettant d'exécuter des scripts SQL sur n'importe quelle base de données. Elle inclut un formulaire simple nommé Exécuter un script SQL avec deux boutons : Rechercher script et Exécuter script.


On appuie sur le bouton Rechercher script et un sélecteur de fichier avec le masque *.sql apparaît.


Le script choisi, s'il est ouvert dans le logiciel Notepad++' contient des ordres SQL compatibles avec MS Access pour :
- détruire des tables ;
- créer des tables ;
- alimenter ces tables en données.

On appuie sur le bouton Exécuter script et une boite me signalent un erreur apparaît. La destruction préventive d'une table dans une base de données vide de table la provoque. Lorsque l'on continue l'exécution, on ignore les autres erreurs après.

Il faut sauvegarder la base de données MS Access pour que les objets créés par l'exécution du script apparaissent.


Cet outil permet donc dexécuter en un clic un script composé d'une séquence d'instructions SQL, mais aussi des scripts beaucoup plus complexes avec variables, macros, boucles, alternatives et interactions avec l'utilisateur. Il faut voir ce document
Le module modFileFunctions utilise l'API VBA Data Access Objects (DAO) qui ne permet pas, contrairement à l'API VBA ActiveX Data Objects (ADO), d'exécuter un ordre SQL CREATE VIEW INDVOL AS. On doit créer via l'IHM MS Access une requête sauvegardée de nom INDVOL ayant pour contenu celui du fichier INDVOL_ACCESS_ds_requete.SQL, ici ouvert dans Notepad++.

Dans le ruban Créer, on appuie sur le bouton Requête SQL et on colle le contenu du fichier.


Lorsque l'on exécute la requête sauvegardée, les données apparaissent.

On enregistre la requête sous le nom INDVOL.


La programmation évènementielle du formulaire Exécuter un script SQL fait appel à des procédures du module VBA modFileFunctions. L'API d'une application Access en VBA n'est pas aussi riche que celle d'une application Excel en VBA. Aussi le module doit faire appel à des fonctions externes Windows, comme par exemple, appel au sélecteur de fichiers, dont l'invocation diffère entre l'édition 32 bits originale et mon portage 64 bits.

