Comment accéder aux résultats d'une requête VBA dans Access
Savoir lire les résultats d'une requête Microsoft Access via VBA permet de rendre votre application Access plus dynamique. Access (suite Microsoft Office) crée des bases de données relationnelles. VBA (Visual Basic for Applications) permet de créer des applications Windows et d'extraire des données. Une requête utilise des instructions SQL (Structured Query Language) pour interroger la base.
Étape 1 : Créer le module VBA
Ouvrez Access 2007, choisissez « Base de données vierge » > « Créer ». Onglet « Outils de base de données » > « Visual Basic ». Menu « Insertion » > « Module ». Tapez Private Sub readQueryResults et validez pour créer une sous-routine.
Étape 2 : Déclarer les variables
Dim RecordSt As Recordset
Dim dBase As Database
Dim stringSQL As String
Dim rCnt As Integer
Étape 3 : Créer la table « CityTbl »
stringSQL = "CREATE TABLE CityTbl (City TEXT(25), State TEXT(25));"
DoCmd.RunSQL (stringSQL)
Étape 4 : Insérer deux enregistrements
stringSQL = "INSERT INTO CityTbl ([City], [State] ) "
stringSQL = stringSQL & "VALUES ('Fort Worth', 'Texas');"
DoCmd.SetWarnings False
DoCmd.RunSQL (stringSQL)
stringSQL = "INSERT INTO CityTbl ([City], [State] ) "
stringSQL = stringSQL & "VALUES ('Dallas', 'Texas');"
DoCmd.SetWarnings False
DoCmd.RunSQL (stringSQL)
Étape 5 : Définir la requête et ouvrir le Recordset
stringSQL = "SELECT CityTbl.* FROM CityTbl;"
Set RecordSt = dBase.OpenRecordset(stringSQL)
Étape 6 : Boucler et afficher les résultats
RecordSt.MoveFirst
For rCnt = 0 To RecordSt.RecordCount
MsgBox (RecordSt.Fields("City").Value & ", " & RecordSt.Fields("State").Value)
RecordSt.MoveNext
Next rCnt
Appuyez sur F5 pour exécuter la sous-routine. Chaque boîte de message affichera une ville et son État.
