Tutoriel SQL VBA

Le langage de requête structuré (SQL) est le langage informatique utilisé pour gérer les bases de données relationnelles. Visual Basic pour Applications (VBA) est le langage de programmation développé par Microsoft à utiliser avec les applications Microsoft Office pour créer du contenu dynamique. Microsoft Access est le programme de base de données de la suite Microsoft Office qui utilise à la fois SQL et VBA pour gérer les données et automatiser les fonctions de base de données systématiques. En utilisant le shell de programmation derrière Microsoft Access, vous pouvez vous connecter à la base de données principale, rechercher des données, ajouter de nouvelles données et supprimer des données en combinant le code de programmation SQL et VBA.

Étape 1

Ouvrez la base de données avec laquelle vous souhaitez travailler dans Microsoft Access. Ouvrez l'éditeur Visual Basic en cliquant sur l'onglet "Outils de base de données", puis sur "Visual Basic".

Étape 2

Cliquez sur "Insérer" puis sur "Module" dans Visual Basic Editor.

Étape 3

Tapez le code pour vous connecter à la base de données. Vous devrez établir une connexion afin d'utiliser des instructions SQL à la base de données.

Sous SQLTutorial()

 'Configurez vos variables pour contenir les informations Dim Conn comme ADODB.Connection 'Ceci est la connexion réelle Dim rsSelect comme ADODB.Recordset 'C'est ici que vous enregistrerez les données Dim rsDelete comme ADODB.Recordset Dim rsInsert comme ADODB.Recordset Dim rsUpdate as ADODB.Recordset Dim strSelectQuery as String 'Ceci est la commande SQL SELECT réelle Dim strDeleteQuery as String 'Cela contiendra l'instruction SQL DELETE Dim strInsertQuery as String 'Ceci est l'instruction SQL INSERT Dim strUpdateQuery as String 'Ceci contiendra l'instruction UPDATE 'Tapez les détails pour vous connecter à la base de données souhaitée Set Conn = New ADODB.Connection With Conn .ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" &_ "Data Source=C:\Documents\SampleDatabase.mdb" .Open End With 

Votre connexion à la base de données est maintenant établie. Ensuite, vous affecterez des instructions SQL aux variables que vous avez déjà déclarées ci-dessus.

Étape 4

Tapez une instruction SQL "SELECT" pour sélectionner les données de la base de données. Une requête SELECT est généralement composée de la manière suivante : " SELECT colonnes FROM table ". Vous pouvez ajouter des critères à l'instruction SELECT en ajoutant la clause "WHERE". Par exemple, vous avez une table appelée « Clients » dans laquelle vous souhaitez rechercher tous les clients dont le nom de famille est « Smith ». Le code VBA et SQL ressemblera à ceci :

strSelectQuery = "SELECT * FROM tblCustomers WHERE LastName = 'Smith'

L'astérisque (*) est un caractère générique, ce qui signifie que vous souhaitez extraire toutes les informations, ou colonnes, sur toute personne portant le nom de famille « Smith ». Pour sélectionner certaines colonnes, vous utiliseriez :

strSelectQuery = "SELECT FirstName, LastName FROM tblCustomers WHERE LastName = 'Smith'"

Étape 5

Tapez l'instruction "DELETE" si vous souhaitez supprimer des lignes de données d'une table. Le code pour cela est :

strDeleteQuery = "DELETE FROM tblCustomers WHERE LastName = 'Smith'"

Cette instruction supprimera toutes les lignes où le client porte le nom de famille « Smith » de la table « Clients ». La syntaxe de base pour une instruction DELETE est "DELETE FROM table WHERE colonne = 'value'."

Étape 6

Tapez la syntaxe pour insérer une nouvelle ligne dans un tableau. Utilisez l'instruction "INSERT".

strInsertQuery = "INSÉRER DANS LES VALEURS tblCustomers (John, Smith, 123 Main Street, Cleveland, Ohio)"

Si vous aviez une table Customers contenant des colonnes FirstName, LastName, Address, City et State, cette instruction s'insérera dans les données dans la colonne de droite. La virgule indique au code de passer à la colonne suivante avant de saisir les valeurs. Assurez-vous que vous saisissez les valeurs dans le bon ordre des colonnes du tableau afin que vos données soient cohérentes.

Étape 7

Tapez l'instruction SQL pour modifier une ligne de données. Il s'agit de l'instruction "UPDATE".

strUpdateQuery = "UPDATE tblCustomers SET LastName='Jones', First WHERE LastName='Smith'"

Cette déclaration change tous ceux qui ont un nom de famille de « Smith » en « Jones » et leurs prénoms en « Jim ». Vous pouvez modifier plusieurs colonnes de données à la fois dans une instruction UPDATE en séparant les colonnes par des virgules. La syntaxe de base pour une mise à jour est "UPDATE table SET colonne1=valeur1, colonne2=valeur2, colonne3=valeur3,... WHERE colonne = valeur."

Tapez le code VBA qui exécutera la requête et enregistrez les résultats dans des jeux d'enregistrements. Fermez le code VBA.

Définir rsSelect = Nouveau ADODB.Recordset

Avec rsSelect

       Définir .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strSelectQuery .Open 

Terminer par

Définir rsDelete = Nouveau ADODB.Recordset

Avec rsSupprimer

       Définir .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strDeleteQuery .Open 

Terminer par

Définir rsInsert = New ADODB.Recordset

Avec rsInsert

       Définir .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strInsertQuery .Open 

Terminer par

Définir rsUpdate = Nouveau ADODB.Recordset

Avec rsDelect

       Définir .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strUpdateQuery .Open 

Terminer par

'Tapez le code VBA pour travailler avec les données que vous avez collectées via les instructions SQL.

« Vous pouvez utiliser les données pour les publier dans des formulaires, dans d'autres tableaux ou dans des rapports.

'Fermez les jeux d'enregistrements et la connexion avec vous est terminée

rsSelect.Fermer

rsSupprimer.Fermer

rsInsérer.Fermer

rsUpdate.Fermer

Fin du sous-marin