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

Access Discussion :

actualiser une liste déroulante [AC-2010]


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 35
    Points : 16
    Points
    16
    Par défaut actualiser une liste déroulante
    Bonjour,

    Je vous explique mon problème.

    J'ai une base de donnée de joueurs avec leur Nom Prénom ...
    J'ai créé dans un premier temps un formulaire A qui va me permettre en écrivant le nom du joueur dans une zone de texte d’accéder à son enregistrement sur un formulaire B.

    Le problème est que je dispose d'homonyme. (Joueurs du même nom).

    Je souhaite donc garder ma zone de texte pour écrire leur nom puis de manière automatique (via Macro) restreindre une liste déroulante des prénoms correspondant au nom écrit.

    Puis sur le clic accéder au formulaire B correspondant au nom et prénom du joueur choisi.

    J'espère mettre fait comprendre.

    Merci de votre aide.

  2. #2
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.
    Plusieurs étapes.
    1. En mode création, propriétés de la zone de texte -> procédure événementielle sur "Après mise à jour" ->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Nom_de_Ta_zone_de_liste.Requery
    2. Aménager la requête source de la zone de liste. Cela devrait être quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT Table_Joueurs.Prenom
    FROM Table_Joueurs
    WHERE (((Table_Joueurs.Nom)=[Formulaires]![FormulaireA]![Ta_zone_de liste]))
    ORDER BY Table_Joueurs.Prenom;
    (A aménager, bien entendu, selon les noms de tes tables, formulaires, et champs.)
    3. Enfin, procédure événementielle sur "Après mise à jour" de la zone de liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "FormulaireB", , , "[Nom] = [Forms]![FormulaireA]![Ta_zone_de_texte] and [Prenom] = [Forms]![FormulaireA]![Ta_zone_de_liste]", , acNormal
    Donc, quand tu quittes la zone de texte, la zone de liste va être actualisée par le Requery. La condition Where de la source de la zone de liste va restreindre la liste de prénoms à ceux qui correspondent au nom tapé dans la zone de texe (pourquoi pas une zone de liste aussi? Le fonctionnement sera le même.)
    Et le choix dans les prénoms va ouvrir le formulaireB avec la (ou les) fiche(s) comportant ces nom et prénom.

    Cordialement.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 35
    Points : 16
    Points
    16
    Par défaut étape 2
    Merci pour cette réponse cependant je ne saisie pas l'étape 2. Comment aménager ma requête ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 35
    Points : 16
    Points
    16
    Par défaut Suite
    Actuellement la requête se présente comme ceci :


    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Joueurs.Nom, Joueurs.Prénom, Joueurs.Photo, Joueurs.[Date de naissance], Joueurs.[N° Equipe], Joueurs.[Téléphone Joueur], Joueurs.[E-mail], Joueurs.[Profession parents], Joueurs.Poste, Joueurs.Adresse, Joueurs.[Code Postal], Joueurs.Ville, Joueurs.[N° Licence], Joueurs.[Paiement Licence], Joueurs.[Téléphone Fixe], Joueurs.[Téléphone parent]
    FROM Joueurs;

  5. #5
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Je suppose que cette requête est la source de ton formulaire?
    Moi je parle, à l'étape 2, de la requête source de la zone de liste du formulaireA.
    En mode création, affiche les propriétés de ta zone de liste. Dans l'onglet "Données", va à la ligne contenu.
    Clique au bout de la ligne à droite et le générateur de requête va afficher la requête source de la liste en mode création.
    Là, tu crées une colonne avec le champ qui va servir de critère. Dans la ligne "Où", tu tapes la condition Where : tu tapes Form et tu va voir que Access te propose Formulaires. Tu cliques pour choisir dans les propositions, puis tu tapes ! et Access te proposera la liste des formulaires.
    Ainsi de suite jusqu'au champ. (Tu peux si tu veux afficher l'équivalent SQL par clic droit et tu verras quelque chose qui ressemble à ce que je te mets à l'étape 2).
    Ceci fait, tu fermes le générateur de requêtes et Access te demande si tu veux mettre à jour les propriétés de la liste. Tu acceptes!
    Bon travail.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 35
    Points : 16
    Points
    16
    Par défaut Tjr pas
    Bon j'ai beau suivre pas à pas tes explications cela ne fonctionne toujours pas.

    J'ai une requête intitulé Joueurs Requête. Cette requête donne lieu au formulaire Joueurs comme tu l'avais justement dis.

    J'ai créé un formulaire indépendant appelé ChoixJoueur dans lequel il y a une zone de texte brut.

    J'ai donc créé une zone de liste qui s'appelle Modifiable13. Je la base ensuite en sql comme tu me la dis dans l’étape 2.

    C’est à partir de ce moment-là que je n’ai aucun prénom dans la liste déroulante et j’ai beau écrire des noms pas d’actualisation de la liste déroulante.

    C’est la dernière tentative ensuite j’abdique.

  7. #7
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Problèmes :
    1. La requête source de la zone de liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Joueurs.Prénom
    FROM Joueurs
    WHERE (((Joueurs.Prénom)=[Formulaires]![ChoixJoueur]![Liste]))
    ORDER BY Joueurs.Prénom;
    Tu as mal placé la condition Where : la condition doit se référer au nom du joueur dans la table, qui doit être le même que celui saisi dans la champ "Zone" et non dans le champ "Liste"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Joueurs.Prénom FROM Joueurs WHERE (((Joueurs.Nom)=[Formulaires]![ChoixJoueur]![Zone])) ORDER BY Joueurs.Prénom;
    2. La procédure sur "Après mise à jour" de la zone de liste des prénoms :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Joueur", , , "[Nom]=[Forms]![ChoixJoueur]![Zone] ans [Prénom]=[Forms]![ChoixJoueur]![List]", , acNormal
    deux fautes d'orthographe : ans au lieu de And et List au lieu de Liste.
    Cordialement.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 35
    Points : 16
    Points
    16
    Par défaut FIN YOUPI
    Tout fonctionne parfaitement je suis arriver à la remettre sur ma base de donnée et à la transposer aux "entraîneurs"

    Merci pour cette aide

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

Discussions similaires

  1. [AJAX] actualiser une liste déroulante via une BDD
    Par Jimmy72_ dans le forum AJAX
    Réponses: 19
    Dernier message: 28/03/2011, 15h45
  2. Actualiser une liste déroulante d'une autre page
    Par philippef dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/11/2008, 14h17
  3. Actualiser une liste déroulante
    Par don_ladji dans le forum Langage
    Réponses: 1
    Dernier message: 27/04/2008, 09h49
  4. Actualiser une liste déroulante
    Par taisherg dans le forum IHM
    Réponses: 1
    Dernier message: 01/06/2007, 12h46
  5. Actualiser une liste déroulante
    Par audrey_ dans le forum ASP
    Réponses: 14
    Dernier message: 25/01/2006, 12h57

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