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

IHM Discussion :

Formulaire liste déroulante et champ texte


Sujet :

IHM

  1. #1
    Membre du Club Avatar de Pwouaro
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Points : 57
    Points
    57
    Par défaut Formulaire liste déroulante et champ texte
    Bonjour à tous,

    Essayons d'être clair...

    Je posséde une base Access 2003, avec une table et un formulaire;

    Dans ce formulaire, il y a une zone de liste déroulante affichant une liste de valeur (clé primaire de ma table).

    J'aimerais qu'en sélectionnant une valeur de ma liste, le formulaire se place directement sur l'enregistrement correspondant à la sélection et que tous les champs texte du formulaire se remplisse.

    Si vous avez des suggestions, je suis tout ouïe.
    Merci d'avance.

    EDIT : Ce que je recherche correspond au formulaire "Commandes" de la base de données "les comptoirs"
    Poireau est un terme qui désigne plusieurs plantes du genre Allium dont Allium polyanthum, le poireau de vigne. Cependant, la plupart du temps, c'est du poireau cultivé, Allium porrum, dont il est question.

  2. #2
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Il y a plusieurs façons de faire ce que tu demandes.

    1. Je te propose d'abord celle-ci, qui est est avec l'assistant:
    ->activer l'assistant. C'est le bâton magique.
    ->cliquer sur le contrôle liste déroulante
    ->le poser à l'endroit approprié
    ->indiquer table comme source de données et choisir la table en question, puis le champ requis
    ->demander à stocker l'enregistrement comme valeur à utiliser pour recherche.
    ->le tour est joué.

    2. Le deuxième est un code VBA, que tu mets sur la propriété After_MAj, de ta liste. Adapte ceci à ton cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub nomControle_AfterUpdate()
        ' Rechercher l'enregistrement correspondant au contrôle.
        Dim rs As Object
     
     
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[champ_de_la_table] = " & Me![cmbEquipeID] 'A adapter si le                     champ n'est de type numérique.
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
     
    End Sub
    Bye!
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 195
    Points : 87
    Points
    87
    Par défaut
    Bonjour

    J'utilise ce code (après mise à jour) pour afficher tous les enregistrement à partir d'un choix d'une liste modifiable :

    NomDuChampDuFormulaire (qui est la clé primaire).SetFocus

    DoCmd.FindRecord Nom de la Liste Modifiable (dont la colonne liée représente la clé primaire)

    Bon courage

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 63
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par Danjos Voir le message
    Il y a plusieurs façons de faire ce que tu demandes.

    1. Je te propose d'abord celle-ci, qui est est avec l'assistant:
    ->activer l'assistant. C'est le bâton magique.
    ->cliquer sur le contrôle liste déroulante
    ->le poser à l'endroit approprié
    ->indiquer table comme source de données et choisir la table en question, puis le champ requis
    ->demander à stocker l'enregistrement comme valeur à utiliser pour recherche.
    ->le tour est joué.

    2. Le deuxième est un code VBA, que tu mets sur la propriété After_MAj, de ta liste. Adapte ceci à ton cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub nomControle_AfterUpdate()
        ' Rechercher l'enregistrement correspondant au contrôle.
        Dim rs As Object
     
     
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[champ_de_la_table] = " & Me![cmbEquipeID] 'A adapter si le                     champ n'est de type numérique.
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
     
    End Sub
    Bye!
    Bonjour,
    J'ai créé un post pour un problème identique (http://www.developpez.net/forums/sho...d.php?t=479485) et j'ai testé votre solution.
    Comme je travaille sous Access 97, je n'ai pas l'assistant et vu que je ne suis pas adepte du VB, j'ai du mal à comprendre :
    - que signifie .Bookmark?
    - l'objet rs représente quoi dans le formulaire?

    Si Pwouaro accepte que je pose des questions sur son post, je vais y participer activement puisqu'il a le meme besoin que moi sinon je remets l'URL de mon problème.


    http://www.developpez.net/forums/sho...d.php?t=479485

    Cordialement

  5. #5
    Membre du Club Avatar de Pwouaro
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Points : 57
    Points
    57
    Par défaut
    Tu es le bienvenu Le_gneux.

    @Danjos

    Je n'ai pas obtenu de résultat avec l'assistant, donc j'ai essayé d'adapter ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim rs As Object
     
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[id] = " & Me![cmb_id] 'A adapter si le champ n'est de type numérique.
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    Lorsque je selectionne une valeur dans ma zone de liste j'obtient une erreur 3022: Modifications non-effectuées: risque de doublons dans champ index...

    et la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Bookmark = rs.Bookmark
    est surligné en jaune. Je précise que ma clé primaire est numérique
    Poireau est un terme qui désigne plusieurs plantes du genre Allium dont Allium polyanthum, le poireau de vigne. Cependant, la plupart du temps, c'est du poireau cultivé, Allium porrum, dont il est question.

  6. #6
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Ok. Je vois.
    ll faudrait que la source de données de ta liste déroulante soit vide c'est à dire indépendante.
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  7. #7
    Membre du Club Avatar de Pwouaro
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Points : 57
    Points
    57
    Par défaut
    Merci pour ta réponse,

    Effectivement depuis que la combo liste est indépendante, ça marche super bien.
    Malheuresement, j'aimerais pouvoir continuer à saisir des données via ce formulaire.

    Je marque le Post Résolu, puisque le problème a changé!
    A plus
    Poireau est un terme qui désigne plusieurs plantes du genre Allium dont Allium polyanthum, le poireau de vigne. Cependant, la plupart du temps, c'est du poireau cultivé, Allium porrum, dont il est question.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2003] Récupérer un champ de formulaire Liste déroulante dans un tableau
    Par jeanchcom dans le forum VBA Word
    Réponses: 9
    Dernier message: 04/02/2011, 15h02
  2. Liste déroulante complétant champs de formulaire
    Par rgdu86 dans le forum Langage
    Réponses: 5
    Dernier message: 01/06/2008, 01h45
  3. Réponses: 5
    Dernier message: 23/09/2007, 18h47
  4. [Formulaire] Liste déroulante à 2 champs
    Par atlantideD dans le forum IHM
    Réponses: 19
    Dernier message: 24/07/2007, 13h50
  5. [AJAX] Lier une liste déroulant à un champ texte
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 13/04/2007, 14h50

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