[ACCESS - VBA -ADO] Requete predefinie
Résolu
Garby
Messages postés
149
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour
Je développe actuellement une appli Acces/VBA.
Je souhaiterais savoir s'il existe en ADO le moyen d'exécuter une requête déjà définie dans les requetes access.
L'équivalent de ce qui existe avec les querydefs de DAO :
Set MonRecordset = MaBase.QueryDefs!MaRequetePredefinie
L'idée est de m'épargner la construction lourde de requetes en mode texte du type :
Set MonRecordset = MaBase.OpenRecordset("SELECT * FROM MaTable")
Or sauf erreur ou mauvaise recherche de ma part, je n'ai rien trouvé d'équivalent en ADO des Querydefs, ce qui me laisse tout de meme pantois...
Merci d'avance pour votre aide.
Garby
Je développe actuellement une appli Acces/VBA.
Je souhaiterais savoir s'il existe en ADO le moyen d'exécuter une requête déjà définie dans les requetes access.
L'équivalent de ce qui existe avec les querydefs de DAO :
Set MonRecordset = MaBase.QueryDefs!MaRequetePredefinie
L'idée est de m'épargner la construction lourde de requetes en mode texte du type :
Set MonRecordset = MaBase.OpenRecordset("SELECT * FROM MaTable")
Or sauf erreur ou mauvaise recherche de ma part, je n'ai rien trouvé d'équivalent en ADO des Querydefs, ce qui me laisse tout de meme pantois...
Merci d'avance pour votre aide.
Garby
A voir également:
- [ACCESS - VBA -ADO] Requete predefinie
- Acer quick access - Forum logiciel systeme
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Access appdata - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
Bonjour,
si j'ai bien compris, vous n'avez qu'a placer l'instruction :
et votre requête est exécuté !
Lupin
si j'ai bien compris, vous n'avez qu'a placer l'instruction :
Set MonRecordset = MaBase.QueryDefs!MaRequetePredefinie RefreshDatabaseWindow
et votre requête est exécuté !
Lupin
re:
en fait, je ne suis pas sur de bien comprendre, vous avez plusieurs requêtes ?
Lorsque j'ai besoin de plusieurs requête qui sont fonction des choix
utilisateur, je construis une requête générique en string et je la
modifie par programmation.
Tiré de [ Beginning Access 97 VBA Programming ]
Lupin
en fait, je ne suis pas sur de bien comprendre, vous avez plusieurs requêtes ?
Lorsque j'ai besoin de plusieurs requête qui sont fonction des choix
utilisateur, je construis une requête générique en string et je la
modifie par programmation.
Tiré de [ Beginning Access 97 VBA Programming ]
Public Function ChangeRequeteDef(ChaineRequete As String, ChaineSQL As String) As Boolean Dim Definition As QueryDef If ((ChaineRequete = "") Or (ChaineSQL = "")) Then ChangeRequeteDef = False Else Set Definition = CurrentDb.QueryDefs(ChaineRequete) Definition.SQL = ChaineSQL Definition.Close RefreshDatabaseWindow ChangeRequeteDef = True End If End Function
Lupin
Et merci pour la réponse mais elle ne m'avance pas...
J'ai contourné mon problème en utilisant :
MaBase.QueryDefs(MaRequetePredefinie).SQL
Ainsi, je construis des requetes avec l'assistant et je passe ensuite le texte de ces requetes à mes recordset. Je ne construis donc pas mes requetes en mode texte dans mon code...
Au niveau de l'élégance, ma solution se pose là, mais ca fonctionne, et ca reste moins moche que la construction des requetes dans le code... :-)