Liste des requêtes
Par Hervé Inisan le mercredi 25 novembre 2009, 20:10 - Requêtes SQL et VBA - Lien permanent
Comment obtenir la liste de toutes les requêtes de la base de données ?
Lister les requêtes de la base de données
Voici une petite procédure VBA qui devrait faire l'affaire (à taper dans un module standard) :
Sub ListeRequetes()
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Set db = CurrentDb
For Each qdf In db.QueryDefs
Debug.Print qdf.Name
Next
Set db = Nothing
End Sub
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Set db = CurrentDb
For Each qdf In db.QueryDefs
Debug.Print qdf.Name
Next
Set db = Nothing
End Sub
Tester
Pour tester, ouvrez la fenêtre de debug (CTRL + G), et tapez-y :ListeRequetes et appuyez sur la touche [Entrée].
Vous obtiendrez la liste de toutes les requêtes de votre base.
Info
Ajoutez un
Debug.Print qdf.SQL dans la boucle For/Next pour afficher également le code SQL de la requête.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.
Pour plus de détails sur les références, consultez cette page.
Ne pas lister les requêtes obsolètes
Avec la méthode ci-dessus, vous obtenez toutes les requêtes, y compris certaines inutiles, dont le nom démarre par le signe "~". Vous pouvez les éliminer de cette manière :
Sub ListeRequetesStandard()
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Set db = CurrentDb
For Each qdf In db.QueryDefs
If Left(qdf.Name, 1) <> "~" Then
Debug.Print qdf.Name
End If
Next
Set db = Nothing
End Sub
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Set db = CurrentDb
For Each qdf In db.QueryDefs
If Left(qdf.Name, 1) <> "~" Then
Debug.Print qdf.Name
End If
Next
Set db = Nothing
End Sub




Nouveau !
Commentaires