IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Actualiser une requête en VBA


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut Actualiser une requête en VBA
    Bonjour,

    j'ai créé une requête dans Access sans passer par le VBA.

    Maintenant je souhaite actualiser (lancer) la requête en VBA mais sans visualiser celle-ci.

    OpenQUery ne permet pas de faire cela puisqu'il m'affiche les résultats de la requête.

    Est-ce possible ? Et si oui de quelle manière ?

    Par avance, merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Points : 1 598
    Points
    1 598
    Par défaut
    hello
    si c'est une requête action, elle n'affiche rien si on est en mode warnings = false
    si c'est une requête sélection, je ne vois pas l'intérêt de l'actualiser
    même si d'autres requêtes sont basées dessus, pas de problème, elle sera réactualisée à l'appel.
    -------------------Simplifi----------comme si tout était simple--------

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    bonjour,

    Si j'ai bien compris ton problème, tu souhaites éxécuter une requete depuis ton code VBA. il te suffit d'insérer le code suivant sur l'évenement qui doit "actualiser" ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim qryModele As DAO.QueryDef 'déclaration d'un objet requete
     
    Set qryModele = CurrentDb.QueryDefs("Nom de la requête") 'binding de l'objet requete
    qryModele.Parameters![nom_du_parametre] = valeur 'Cette ligne est utilisée dans le cas de requête paramétré
    qryModele.Execute 'exécute la requete, (actualise dans ton vocabulaire)
    qryModele.Close 'libère l'objet
    Voila, je pense que cela devrait t'aider.

  4. #4
    Membre actif
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Points : 222
    Points
    222
    Par défaut
    salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.QueryDefs("Nom de la requête").execute
    au plus simple, bien que sur des requêtes dites action = Update, Insert, Delete,Select.. into

    le code précédent de pev15 est utile si tu as un paramètre à passer en argument à la requete

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 40
    Points
    40
    Par défaut
    Bonjour, voilà mon problème :

    j'ai collé le code mais on me dit que sur une requête SELECT on ne peut pas faire Execute.

    Le résultat de la requête apparait dans une liste et dans le même formulaire on rentre des enregistrements qui sont utiles pour la requête, j'aimerais que l'affichage de la liste soit à jour en temps réel, sans avoir à sélectionner la liste et à faire F5.

    merci,

    lebowski

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 122
    Points : 172
    Points
    172
    Par défaut
    Salutations,

    Alors, effectivement on ne peut pas utiliser la commande execute sur une requête de sélection.
    Pour afficher le résultat de ta requête dans une liste déroulante, tu place directement celle-ci dans propriété "Contenu" de la requête (mais si j'ai bien compris, ça tu le savais déjà).

    Ton problème est l'actualisation de cette liste. Tu dis que sur le même formulaire tu as les champs permettant d'alimenter la table sur laquelle porte ta requête :
    Le résultat de la requête apparait dans une liste et dans le même formulaire on rentre des enregistrements qui sont utiles pour la requête
    J'imagine que tu as donc un code vba derrière qui t'exécute une requête insert ou une requête update selon ton besoin.
    As-tu essayé de mettre ça à la fin de ton code (en adaptant le nom à ton formulaire bien sûr) ?

    "Je suis capable du meilleur comme du pire, mais dans le pire, c'est moi le meilleur" Coluche.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 40
    Points
    40
    Par défaut
    Salut,

    je n'ai pas de code VBA qui exécute de requête, juste un code pour forcer la saisie en majuscule dans certains champs
    J'ai essayé le refresh, j'ai essayé Forms![monformulaire].[nomdemaliste].refresh et même .requery, rien de fonctionne, des fois il y a un message d'erreur.

    Je précise que c'est marqué Indépendant là où est ma liste quand je passe en mode création, c'est peut-être un problème.

    Voilà si vous avez des idées elles sont les bienvenues parce que je doit rendre la base de données vendredi

    EDIT : c'est bon ça marche mais c'est boiteux ça met plus de temps que de cliquer sur la liste et faire F5 :s

Discussions similaires

  1. erreur dans une requête (en VBA) contenant IIf et left
    Par Magali33 dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/11/2007, 13h50
  2. Réponses: 2
    Dernier message: 02/07/2007, 19h44
  3. comment exprimer une requête en vba
    Par FRIGAUX dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/03/2007, 18h40
  4. executer une requête en VBA : macro ou pas ?
    Par Cantalou dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 26/01/2007, 14h35
  5. Comment exécuter une requête en VBA ?
    Par rob2-9 dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 01/08/2006, 12h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo