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
Est-il possible d'avoir une définition active de la liste d'une combobox dans un formulaire continu ?
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
Merci d'avance du temps que vous passez a répondre à cette question, pierre.
Partager