Code vba génerateur de requête

massimo888 Messages postés 209 Statut Membre -  
massimo888 Messages postés 209 Statut Membre -
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

1 réponse

  1. Thorak83 Messages postés 1140 Statut Membre 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
    1. massimo888 Messages postés 209 Statut Membre
       
      Merci Thorak!
      Je teste et reviens vers toi!
      0
    2. massimo888 Messages postés 209 Statut Membre
       
      ça marche nickel faut juste enlever le WHERE .... et la requite se crée
      0
    3. massimo888 Messages postés 209 Statut Membre
       
      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
    4. Thorak83 Messages postés 1140 Statut Membre 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
    5. massimo888 Messages postés 209 Statut Membre
       
      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