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 :

Problème liste déroulante restreinte sur plusieurs formulaires


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Problème liste déroulante restreinte sur plusieurs formulaires
    Bonjour,

    J'ai suivi un tutoriel pour pouvoir créer une liste déroulante restreinte selon le critère choisi. Lien ci-dessous.
    http://www.info-3000.com/access/listerestreinte/

    Mon but est de remplir une table client avec le formulaire 1, de modifier des lignes avec le formulaire 2, de supprimer des lignes avec le formulaire 3.

    Cette méthode fonctionne très bien pour un seul formulaire. Le problème est que si je veux créer d'autres formulaires avec les mêmes champs, il y a le message "Entrez une valeur paramètre" qui s'affiche quand je clique sur la liste ville.

    Je voudrais avoir une liste restreinte sur plusieurs formulaire.

    Je vous remercie d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Bonjour.

    On utilise dans ce cas un des mécanismes d'Access qui lui permet de trouver des données dans un formulaire ouvert.
    Ce mécanisme n'est pas paramétrable ni contextuel. Access va toujours chercher le formulaire indiqué dans le critère.
    La solution simple à ton problème est de créer une requête par formulaire.
    Si tu n'en a que quelques uns c'est sans doute la méthode la plus efficace.
    Tu copies la requête et tu changes le nom du formulaire.

    Sinon, il va falloir modifier la source de ta liste par programme au moment de l'ouverture du formulaire.

    Si tu es intéressé par la solution par programme, dit-le et poste le SQL de ta requête pour des explications plus pertinentes.

    A+

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Un grand merci pour ta réponse car je suis totalement bloqué sur ce problème.

    J'ai déjà essayé cette méthode mais ça ne fonctionne pas. Le problème est que la table client utilise la requête R_ville. Le contenu du champ ville "SELECT [R_Ville].[Ville] FROM R_Ville; "

    Si je créer un nouveau formulaire et une nouvelle requête, le formulaire ne modifiera pas le champ ville de la table client.

    J'ai donc une table client avec NomClient, prenom, Pays et Ville
    Une table VillePays avec Pays et Ville
    Une requête R_Pays pour regrouper les pays et une requête R_ville pour lier la requête au formulaire.

    sql:
    SELECT T_VillePays.Ville, T_VillePays.Pays
    FROM T_VillePays
    WHERE (((T_VillePays.Pays)=[Formulaires]![F_Client]![Pays]));

    J'ai exactement le même exemple que sur le tuto que j'avais envoyé sur les listes restreintes.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Bonjour.

    Le problème est que la table client utilise la requête R_ville.
    Hum ton problème vient de là, ta table ne doit pas "utiliser" une requête.
    Je sais que Access le tolère et que c'est parfois pratique. Et personnellement je ne les utilisent pas car elles masquent la valeur réellement dans le champ.
    Si tu tiens à mettre une requête dans ta table (en réalité dans une liste déroulante qui sert à afficher le champ de la table) il faut qu'elle soit indépendante de tout élément d'interface.

    Les listes déroulantes dépendantes ne doivent être utilisées QUE dans des formulaires.
    Il faut donc redéfinir ta liste déroulante dans chacun des formulaires avec sa propre requête source (soit manuellement, soit par code).
    Je suis d'accord que c'est du travail en plus mais je ne vois pas d'autre solution.

    Une astuce que j'utilise parfois est de ne pas faire de filtre mais de signaler à mon utilisateur que l'info est contextuelle.
    Par exemple j'ai des listes d'unités dont certaines sont inactives.
    Je pourrais faire une liste spécifique pour les unités actives mais je me contente d'afficher "(Inactif)" à côté du nom.
    Je fais confiance à mon utilisateur pour choisir une unité active et comme cela je peux me servir de la même liste partout où j'ai besoin d'afficher mes unités.
    Je n'ai qu'une vingtaine d'unités et j'ai plein d'endroits où j'affiche cette information, notamment des écrans d'archives où ces unités étaient actives et donc doivent apparaître.

    A+

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je te remercie pour ton aide, grâce à toi j'ai pu trouver une solution à mon problème.
    J'ai finalement créer des requêtes spécifiques aux formulaires et ça fonctionne.
    A+

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

Discussions similaires

  1. Liste déroulante restreinte sur Access
    Par williamk dans le forum IHM
    Réponses: 8
    Dernier message: 13/03/2012, 09h31
  2. [AC-97] Liste déroulante basée sur plusieurs champs d'une table
    Par docjo dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 02/01/2012, 17h01
  3. [AC-2007] Liste déroulante restreinte dans sous formulaire
    Par filiph79 dans le forum IHM
    Réponses: 3
    Dernier message: 29/06/2011, 17h48
  4. Réponses: 1
    Dernier message: 09/09/2008, 09h12
  5. Réponses: 3
    Dernier message: 12/05/2006, 03h31

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