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 :

Problème intéressant pour un expert: Combobox dans Form Continu [AC-2007]


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Points : 57
    Points
    57
    Par défaut Problème intéressant pour un expert: Combobox dans Form Continu
    ancien titre :
    Est-il possible d'avoir une combobox dynamiques (style père - fils) dans un form en mode continu

    Bonjour,

    Je n'arrive pas a résoudre le problème suivant :
    Dans le sous-formulaire d'une nomenclature en mode continu, j'ai une liste de composant avec une quantité et une unité.
    Ce champ unité est une combobox lié à un ID unité et le nom de l'unité.
    Mon problème c'est que j'aimerais que cette combobox reprenne la liste des unités disponible pour le composant de la ligne.

    Une solution que j'ai trouvé :
    Lorsque la combobox n'est pas activé, la source de donnée reprend les unités de tous les composants (l'unité de chaque composant est alors affichée). Quand le focus passe à la combobox je change la source de données pour la filtrer avec la valeur du composant actif. Mais alors, pour toutes les autres lignes de composants les unités ne sont plus affiché car la référence ne correspond à aucune valeur de la source.

    Dans la table unité : une unité est défini pour un composant (mais un composant peu avoir plusieurs unités : ml, bobine, palette, ...)

    En images lorsque le focus n'est pas sur la combobox des unités
    Produit P :
    Composant A 8 pièce
    Composant B 5 bobine
    Composant C 3 ml
    Composant C 1 bobine

    en images lorsque le focus est sur la combobox des unités de la ligne 3
    Produit P :
    Composant A 8
    Composant B 5
    Composant C 3 ml (dérouler ml; bobine; palette)
    Composant C 1 bobine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Unite_GotFocus() 'la colonne liée est la 2ème
        Me.Unite.RowSource = "SELECT T_Unites.NomUnite, T_Unites.Ref_ConvUnit FROM T_Unites " _
                                    & "WHERE (((T_Unites.Ref_duComposant)=[Formulaires]![For_Commandes]![ForS_ListeCommandes].[Form]![Ref_duComposant]));"
        Me.Unite.Requery
    End Sub
     
    Private Sub Unite_LostFocus()  'la colonne liée est la 2ème
        Me.Unite.RowSource = "SELECT T_Unites.UniteADef, T_Unites.Ref_ConvUnit FROM T_Unites;"
        Me.Unite.Requery
    End Sub
    Est-il possible d'avoir une définition active de la liste d'une combobox dans un formulaire continu ?

    Merci d'avance du temps que vous passez a répondre à cette question, pierre.

  2. #2
    Membre actif
    Inscrit en
    Juin 2010
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 150
    Points : 210
    Points
    210
    Par défaut
    je ne comprends pas où tu veux en venir:

    tu veux que ta liste déroulante affiche les unités possibles pour un composant.
    et plus loin, tu disque tes tables sont construites de manière à associer une (et une seule) unité par composant.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 385
    Points : 492
    Points
    492
    Par défaut
    Bonjour (soir ? ) ,

    Hummm !

    Je pense que si je comprend bien :

    Dans le cadre d'une nomenclature tu veux sélectionner la Pièce "mère" , et que quand elle est sélectionnée , cela 'refresh' une liste qui affiche toute les pièces ??

    En Exemple cela donnerais cela ? :

    Liste_Deroulante_Choix => MOTEUR

    Afficherais dans une liste sur la coté : Courroie (x2) , Bobine , inducteur , bougie (x4) .. ?Right?


    Il me semble que ta table devrais être du style que voici si j'ai bien compris ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Nom_Piece   - Quantite  - Unite_mesure
    ---------------------------------------
    Courroie      -       2       -   NULL
    Liq_moteur   -      1        -   250ml
    Bougie        -       4        -   NULL
    C'est bien cela ?


    Cordialement ,


    (En espérant avoir compris déjà ta situation initial..)
    Si ma réponse ou ma question vous semble pertinente un clique sur le pouce vert.
    La base des Expression Access à Connaitre : http://office.microsoft.com/fr-ca/ac...295.aspx?CTT=3
    Un livre de chevet parfait : "Développement Android": http://www.editions-eyrolles.com/Livre/9782212125870/

  4. #4
    Membre du Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Points : 57
    Points
    57
    Par défaut
    Merci, pour vos réponses je vais préciser mon problème.

    Un produit est composé de plusieurs composants.
    Chaque composant a une à plusieurs unités mais une unité est associer a un et un seul composant (ID différent même si c'est la même description : ml).

    En premier lieu :
    La liste de la combobox des unités des composants de la nomenclature est composée de la liste de toutes les unités sans filtre.
    Donc dans le sous-formulaire toutes les unités sont visible (affichage de ID par sa description : ml, kg, m², ...)
    Mais si je déroule la liste j'obtiens toute les unités existante et pas seulement les unités du composant de la ligne sélectionné !

    Dans un second temps :
    Je modifie donc la liste de la combobox des unités des composants de la nomenclature lorsque l'on sélectionne celle-ci. J'ajoute alors un filtre en fonction du composant actif. Si je déroule la liste j'ai la liste des unités disponible pour le composant donc ok.
    Mais sur les autres lignes (comme la sélection de la liste est filtrer) les unités disparaissent (les ID ne sont pas retrouvé).

    Est-il possible d'écrire une source de donnée dynamique du style père-fils, qui permettrait d'afficher toutes les ID unités, mais de ne dérouler que celle du composant sélectionné ?

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Points : 57
    Points
    57
    Par défaut
    Bonjour,

    ci-joint une base exemple pour bien montrer la problèmatique :
    Fichiers attachés Fichiers attachés

  6. #6
    Membre du Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Points : 57
    Points
    57
    Par défaut Essai final
    Voilà, je pense que le sujet est intéressant j'ai donc changé mon titre et je poste une réponse pour que, je l'avoue, il remonte dans le forum.

    Si je n'ai pas plus de réponse que les autres jours c'est que je me suis trompé : ce n'est pas un casse-tête intéressant.

    Pierre

  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,

    Regarde ma réponse et l'exemple joint, dans cette discussion.

    Dans la pièce jointe, le formulaire F_Ferme est le formulaire d'origine avec une problématique similaire à la tienne.
    Le formulaire F_Ferme_2 est celui que j'ai trafiqué pour donner l'illusion de zones listes modifiables distinctes.

    A+

  8. #8
    Membre du Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Points : 57
    Points
    57
    Par défaut :resolu: un grand bravo et merci.
    Merci LedZeppIIpour cette solution.
    Il fallais la trouver, chapeau bas , je pense que tu devrais la proposer dans la FAQ, car bien que ce ne soit pas "classique" c'est a mon avis la seule.

    Encore bravo.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/12/2010, 17h07
  2. Comment faire pour obtenir un calendrier dans forms ?
    Par etoile_de_vie dans le forum Forms
    Réponses: 4
    Dernier message: 03/12/2009, 08h44
  3. Réponses: 4
    Dernier message: 30/09/2009, 12h56
  4. Problème SMTP pour un compte yahoo dans Outlook 2003
    Par maxmarie dans le forum Outlook
    Réponses: 1
    Dernier message: 15/02/2008, 14h13
  5. Réponses: 1
    Dernier message: 27/07/2005, 17h08

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