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 :

Deux listes déroulantes liées dans un sous-formulaire en continu


Sujet :

IHM

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Deux listes déroulantes liées dans un sous-formulaire en continu
    [Access 2003][Formulaires]
    La gestion de deux listes déroulantes, avec la seconde dépendante de la valeur sélectionnée dans la première ne pose pas de problème en formulaire de type unique (Requery de la liste 2 sur l'événement Après MAJ de la liste 1].
    Cela ne fonctionne pas dans le cas de formulaire en continu. Le résultat est que toutes les valeurs de la liste 2, pour tous les enregistrements affichés dans le sous-formulaire continu, se mettent à la même valeur.
    Les recherches faites dans la FAQ ne semblent pas traiter du cas précis des formulaires en continu.
    Quelqu'un aurait-il une solution ? Merci beaucoup.

  2. #2
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    bonjour
    Requery de la liste 2 sur l'événement Après MAJ de la liste 1.
    tu devrais mettre un requery sur la proprietee activation du form
    cela raffraichira ta liste a chaque changement d'enregistrement

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2007
    Messages : 74
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Renardo Voir le message
    bonjour

    tu devrais mettre un requery sur la proprietee activation du form
    cela raffraichira ta liste a chaque changement d'enregistrement
    Bonjour
    j'ai exactement le même problème j'ai pas bien compris comment faire un requery sur la propriété activation du form
    Merci

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Deux listes déroulantes liées dans un sous-formulaire en continu
    Bonjour Renardo,

    J'ai ajouté donc ce Requery sur activation du sous-formulaire.
    Le résultat est identique : toutes les valeurs du même contrôle, pour toutes les lignes du SF se modifie, ce qui me taraude.
    Récapitulons :
    Dans un sous-formulaire intégré à un formulaire (il s'agit d'un devis classique), j'ai un une liste déroulante xFourn qui m'affiche mes fournisseurs. OK
    Juste à côté, une seconde liste déroulante xArt , avec comme source contrôle le champ Numéro article de ma base, dont la requête appelle les articles dont le fournisseur = monsousformulaire!xFourn.
    Après mise à jour de xFourn, j'ai un xArt.requery.
    Cela fonctionne pour une ligne du sous formulaire, mais, lorsque je veux traiter une autre ligne du sous-formulaire, toutes les valeurs de xArt, pour toutes ses lignes, prennent la même valeur.
    Tu as une idée ?
    J'ai l'impression que, dans un sous-formulaire, une liste déroulante associée à un champ de la base de donnée se comporte comme un champ indépendant et donc régit pareil pour tous les sous-enregistrements.

    Tu as une idée ?
    Merci de ton aide.

  5. #5
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    voici un exemple dit moi si ces cela que tu veux faire

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2007
    Messages : 74
    Points : 33
    Points
    33
    Par défaut
    Bonjour
    j'ai fais exactement ce que vous avez dit mais j'ai toujours le problème des listes déroulantes qui redeviennes vides
    voila ma db tout ce passe au niveau du formulaire OFFRE_DE_PRIX
    Merci pour votre aide

  7. #7
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Flash_Over, chez toi ça ne fonctionne pas car la colonne liée (CODE_PRODUIT) n'est pas la colonne affichée (DÉSIGNATION).
    Du coup Access impose automatiquement "Limiter à la liste = Oui", ce qui a pour effet
    d'afficher des blancs quand la valeur du champ n'appartient pas à la liste.

    Voici une bidouille applicable à ton sous-formulaire.

    Modifier la source de données du (sous-)formulaire pour y inclure la table contenant le texte associé au code produit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CONTIENT.*, [ARTICLE].[DÉSIGNATION] 
    FROM CONTIENT LEFT JOIN ARTICLE ON [CONTIENT].[CODE_PRODUIT]=[ARTICLE].[CODE_PRODUIT];
    Déposer le noveau champ DÉSIGNATION sur le formulaire.
    Supprimer son étiquette.
    Mettre propriété Vérouillé à Oui

    Placer DÉSIGNATION au dessus de CODE_PRODUIT.
    Ajuster ses dimensions pour qu'il se supperpose au rectangle de la zone de liste modifiable,
    sans recouvrir la flèche de déroulement de la liste.
    Format -> Mettre au premier plan

    Résultat, on voit DÉSIGNATION car il est par dessus CODE_PRODUIT. Cela masque les blancs.
    Quand on clique sur la flèche pour ouvrir la liste, celle-ci s'affiche par dessus le contrôle DÉSIGNATION.

    A+

  8. #8
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2007
    Messages : 74
    Points : 33
    Points
    33
    Par défaut
    Merci cela a l'air de marcher
    Merci bcps LedZeppII

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci Renardo et LedZeppII, mon pb est donc résolu, avec les explications qui vont bien.

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 21/01/2015, 10h14
  2. [AC-2010] probleme liste deroulante liée dans un sous formulaire
    Par azur123 dans le forum IHM
    Réponses: 3
    Dernier message: 07/08/2012, 11h29
  3. Réponses: 12
    Dernier message: 08/02/2007, 11h59
  4. Réponses: 2
    Dernier message: 15/09/2006, 19h03
  5. Réponses: 4
    Dernier message: 17/03/2006, 14h39

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