Liste déroulante en cascade
Résolu
meeks
Messages postés
61
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai un nouveau problème !
Je vous explique : j'ai donc 2 listes déroulantes liées entre elles (la 2nde dépend du résultat de la première), jusque là tout va bien, ça marche.
La 2ème liste déroulante affiche des résultats sur 2 zones de textes différents.
Jusque là, ça marche aussi, le problème est que quand je change la valeur de la 1ère liste déroulante, le résultat de la 2ème liste correspond, le problème est que je n'ai pas les résultats qui s'affichent dans les zones de textes.
Le but est de pouvoir trouver à partir de la 1ère liste déroulante (qui recense les fournisseurs) les articles correspondants (2ème liste) et la 1ère zone de texte affiche la désignation du produit et la 2ème zone de texte le prix.
Je me demande donc pourquoi les zones de texte ne "suivent" pas les résultats de la 2ème liste déroulante...
Merci d'avance de votre aide.
Private Sub cmbArticle_AfterUpdate()
txtDesignation = cmbArticle.Column(2)
txtPrix = cmbArticle.Column(3)
Me.txtDesignation.Requery
Me.txtPrix.Requery
End Sub
Private Sub cmbFournisseur_AfterUpdate()
Dim lngid_four As Long
Dim sql As String
If Not IsNumeric(Me!cmbFournisseur) Then Exit Sub
lngid_four = Me!cmbFournisseur
sql = "SELECT id_art, Code_article, id_fournisseur FROM Article WHERE id_fournisseur =" & lngid_four & " "
cmbArticle.RowSource = sql
cmbArticle.Enabled = True
cmbArticle.SetFocus
cmbArticle.Dropdown
Me.cmbArticle.Requery
Me.txtDesignation.Requery
Me.txtPrix.Requery
End Sub
Private Sub txtDesignation_AfterUpdate()
Me.txtPrix.Requery
End Sub
A priori, mes requery ne servent à rien...
J'ai un nouveau problème !
Je vous explique : j'ai donc 2 listes déroulantes liées entre elles (la 2nde dépend du résultat de la première), jusque là tout va bien, ça marche.
La 2ème liste déroulante affiche des résultats sur 2 zones de textes différents.
Jusque là, ça marche aussi, le problème est que quand je change la valeur de la 1ère liste déroulante, le résultat de la 2ème liste correspond, le problème est que je n'ai pas les résultats qui s'affichent dans les zones de textes.
Le but est de pouvoir trouver à partir de la 1ère liste déroulante (qui recense les fournisseurs) les articles correspondants (2ème liste) et la 1ère zone de texte affiche la désignation du produit et la 2ème zone de texte le prix.
Je me demande donc pourquoi les zones de texte ne "suivent" pas les résultats de la 2ème liste déroulante...
Merci d'avance de votre aide.
Private Sub cmbArticle_AfterUpdate()
txtDesignation = cmbArticle.Column(2)
txtPrix = cmbArticle.Column(3)
Me.txtDesignation.Requery
Me.txtPrix.Requery
End Sub
Private Sub cmbFournisseur_AfterUpdate()
Dim lngid_four As Long
Dim sql As String
If Not IsNumeric(Me!cmbFournisseur) Then Exit Sub
lngid_four = Me!cmbFournisseur
sql = "SELECT id_art, Code_article, id_fournisseur FROM Article WHERE id_fournisseur =" & lngid_four & " "
cmbArticle.RowSource = sql
cmbArticle.Enabled = True
cmbArticle.SetFocus
cmbArticle.Dropdown
Me.cmbArticle.Requery
Me.txtDesignation.Requery
Me.txtPrix.Requery
End Sub
Private Sub txtDesignation_AfterUpdate()
Me.txtPrix.Requery
End Sub
A priori, mes requery ne servent à rien...
A voir également:
- Liste déroulante en cascade
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Site dangereux liste - Guide
et au fait, pourquoi passes tu par vba ?
Au lieu de faire
Private Sub cmbArticle_AfterUpdate()
txtDesignation = cmbArticle.Column(2)
txtPrix = cmbArticle.Column(3)
Me.txtDesignation.Requery
Me.txtPrix.Requery
pourquoi ne pas mettre dans la source des 2 champs :
pour le 1er : = me.cmbArticle.Column(2)
et pour le 2nd : = cmbArticle.Column(3)
??