Comment accéder aux résultats de la requête VBA

...

Récupérez les résultats de la requête dans Access à l'aide de VBA.

Savoir lire les résultats d'une requête Microsoft Access peut vous aider à rendre votre application Access plus dynamique. Access fait partie de la suite Microsoft Office et est utilisé pour créer des bases de données relationnelles. Visual Basic pour Applications (VBA) peut être utilisé dans Access pour créer des applications Windows et récupérer des données de base de données. Une requête est construite à l'aide d'instructions SQL (Structured Query Language) pour demander des informations à une base de données.

Étape 1

Démarrez Microsoft Office Access 2007 et sélectionnez "Blank Database", puis cliquez sur "Créer". Cliquez sur "Outils de base de données" et sélectionnez "Visual Basic". Cliquez sur le champ "Insérer" et sélectionnez "Module".

Vidéo du jour

Tapez « Private sub readQueryResults » et appuyez sur « Enter » pour créer un nouveau sous-programme.

Étape 2

Tapez ce qui suit pour déclarer les variables que vous utiliserez pour lire les résultats de la requête :

Dim RecordSt As Recordset Dim dBase As Database Dim stringSQL As String Dim rCnt As Integer

Étape 3

Tapez ce qui suit pour créer la table "CityTbl" :

stringSQL = "CREATE TABLE CityTbl (City TEXT(25), State TEXT(25));" DoCmd. ExécuterSQL (stringSQL)

Étape 4

Tapez ce qui suit pour ajouter deux nouveaux enregistrements à votre table "CityTbl" :

stringSQL = "INSERT INTO CityTbl ([Ville], [État] ) " stringSQL = stringSQL & "VALEURS ('Fort Worth', 'Texas');" DoCmd. SetWarnings False DoCmd. ExécuterSQL (stringSQL)

stringSQL = "INSERT INTO CityTbl ([City], [State] ) " stringSQL = stringSQL & "VALUES ('Dallas', 'Texas');" DoCmd. SetWarnings False DoCmd. ExécuterSQL (stringSQL)

Étape 5

Tapez ce qui suit pour définir votre requête et ouvrir votre Recordset :

stringSQL = "SELECT CityTbl.* FROM CityTbl;" Définissez RecordSt = dBase. OpenRecordset (stringSQL)

Étape 6

Tapez ce qui suit pour créer une "boucle For" et afficher les résultats de votre requête via une boîte de message :

RecordSt. MoveFirst For rCnt = 0 To RecordSt. RecordCount MsgBox (RecordSt. Fields("Ville").Value & ", " & RecordSt. Fields("State").Value) RecordSt. MoveNext Suivant rCnt

Appuyez sur "F5" pour exécuter le sous-programme.