Code vba génerateur de requête

massimo888 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention   -  
massimo888 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite avoir un bout de code qui génère une requête à partir d'une table existante.
Est-ce que c'est possible?

Merci à vous
A voir également:

1 réponse

Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
Bonjour,
Exemple à compléter
Dim MaReq As QueryDef
Dim TxtSql As String

TxtSql = "SELECT * FROM matable WHERE ...."
Set MaReq = CurrentDb().CreateQueryDef("LeNomDeMaRequete", TxtSql)

1
massimo888 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Thorak!
Je teste et reviens vers toi!
0
massimo888 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention  
 
ça marche nickel faut juste enlever le WHERE .... et la requite se crée
0
massimo888 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention  
 
Juste j'ai remarqué qu'on doit avoir une table et que son nom doit apparaitre dans le code. On peut pas le faire en utilisant une variable qui change de nom
Parce que là à chaque generation de requite je dois changer le nom de la table
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
le WHERE dépend de la requête que vous voulez créer. (notez les 3 petits point après)
Bien sur qu'on peut mettre une variable comme nom de requête. Mais peut être vaut-il mieux en avoir qu'une et qu'elle s'écrase à chaque fois sinon le nombre de requête risque d'augmenter considérablement.
voici le code à mettre juste avant le set MaReq ...
  On Error Resume Next
CurrentDb().QueryDefs.Delete "LeNomDeMaRequete"
On Error GoTo 0

au cas ou vous désirez n'avoir qu'une requête. (elle sera supprimer a chaque exécution avant la création)
0
massimo888 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention  
 
Je crée une requite à la fois et je la garde en mémoire. et je definis son nom avec un inputbox.
Je teste et je reviens vers vous
0