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 :

créer une requête paramétrée en VBA


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Par défaut créer une requête paramétrée en VBA
    Bonjour,
    Je souhaite réalisé une requete paramétré. Il y a la methode toute simple de mettre dans la requete, dans le champs critère : [Quel est le nom de l'affaire?]

    Lorsque j'active cette requette, il m'ouvre bien une fenetre me demandant le nom de l'affaire. Cependant, j'aimerais le faire grace a un formulaire (comme ca je pourrais mettre une liste deroulante et avoir une interface plus jolie.)


    Donc, je pense qu'il faut que je modifie ma requete grace au VBA. Il faudrait que je modifie le champ critère en remplacant [Quel est le nom de l'affaire?] par une variable que j'aurais récupéré grace a mon formulaire.

    Est ce que vous auriez une idée du code qu'il faut mettre pour réaliser cette fonction sachant qu'il faut que la requete s'enregistre mais qu'a chanque nouvelle utilisation, on peut réutilisé l'ancienne.

    Merci de votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 325
    Par défaut
    Bonjour,

    effectivement tu sais faire ca.

    tu créer un formulaire avec un champ indépendant (dans ton cas une zone de liste)

    ensuite dans ta requête paramétrée tu donne comme critère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![formulaire choix]![nom de la liste]

  3. #3
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Par défaut
    Je viens d'essayer de faire ce que tu viens de me conseiller :

    J'ai mis ce code dans ma requete mais, il prend ca comme un paramétrage manuel car il me remet la page sur laquelle il me demande de rentrer manuellement ma donnée.
    Peu etre que c'est parce que c'est pas lancé en VBA ma requete.

    Est ce que vous pouvez me donner la ligne de code pour lancer une requete.

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [Forms]![ChangeModif]![enregistre2]

  4. #4
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904

  5. #5
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Par défaut
    J'ai bien vu cette reponse sur le FAQ mais je n'arrive pas a comprendre comment elle marche et donc j'arrive pas a l'adapter a mes besoins.

    Si quelqu'un pouvait m'expliquer son fonctionnement.
    Merci d'avance

  6. #6
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    quand tu dis
    il prend ca comme un paramétrage manuel car il me remet la page sur laquelle il me demande de rentrer manuellement ma donnée.
    Tu n'aurais pas oublié d'ouvrir le formulaire par hasard...

    La référence au contrôle du formulaire de puis ta requête ne fonctionne que si le form est ouvert.

  7. #7
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Par défaut
    Je viens de le faire avec le formulaire, ca y est, il m'ouvre plus la page me demandant de rentré manuellement la donnée.
    Par contre, ca ne marche toujours pas car il ne trouve pas d'enregistrement dans la table. A mon avis, il doit manque des "", ou '.


    est ce que quelqu'un sait comment faire?
    merci pour vos conseils

  8. #8
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Par défaut
    Je viens d'avancer un peu. En utilisant le code le la petite sandrine. Lorsque je met un champ de texte normal, ca marche bien par contre, quand je met une liste deroulante ca marche plus, donc il doit bien avoir un petite erreur de syntaxe.


    Quelqu'un sait ce qu'il manque?

  9. #9
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Donnes une copie exacte de ton code....

  10. #10
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Par défaut
    Je reprends les explications :
    En gros, j'ai une liste deroulante sur un formulaire :



    je desire, en fonction de l'affaire sélectionnée, afficher sur un nouveau formulaire les données correspondants à l'affaire :



    Pour cela, j'ai utilisé une requete :



    Seulement, cette solution pose un probleme car pour ouvrir mon formulaire, il faut que la requete soit ouverte sinon, il me met la page suivant :



    Du coup, pour l'instant, j'ai mis ce code pour ma liste deroulante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub enregistre3_AfterUpdate()
    DoCmd.OpenQuery "requête3"
    DoCmd.OpenForm "requête3"
    DoCmd.Close acQuery, "requête3"
    DoCmd.Close A_FORM, "ChangeModif"
     
    End Sub
    Mais bon, je suis sur qu'il y a un meilleur moyen pour realiser cette fonction.
    De plus, je ne connais pas le code pour pouvoir afficher dans mon formulaire général (celui ou on affiche toutes les données concernant une affaire) le premier enregistrement de la requete.


    Merci de votre aide.

  11. #11
    Membre éprouvé

    Inscrit en
    Mars 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 92
    Par défaut
    Bonjour,

    Lorsque je met un champ de texte normal, ca marche bien par contre, quand je met une liste deroulante ca marche plus, donc il doit bien avoir un petite erreur de syntaxe.
    Une piste (?)
    Si tu mets une liste déroulante, tu reprends l'identifiant de ta liste et non le contenu que tu vois afficher
    donc je crois que c'est de là que provient l'erreur

  12. #12
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Par défaut
    Citation Envoyé par sasmira_
    Bonjour,


    Une piste (?)
    Si tu mets une liste déroulante, tu reprends l'identifiant de ta liste et non le contenu que tu vois afficher
    donc je crois que c'est de là que provient l'erreur
    C'est bon, ca marche même avec la liste deroulante mais j'ai toujours le probleme exposé dans mon message précedant qui subsiste.

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/12/2008, 12h27
  2. Conserver la valeur d'un champ dans une requ
    Par valalu dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 29/08/2007, 23h34
  3. [Javascript] Passer une variable javascript en param de page
    Par Psykorel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/04/2006, 15h04
  4. comment rajouter un caractère " ' " dans une requê
    Par GDVL dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 30/07/2004, 16h58
  5. Recuperation du source d'une page - envoi de param
    Par ulysse66x dans le forum Web & réseau
    Réponses: 3
    Dernier message: 15/06/2003, 17h31

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