Liste déroulante en cascade

Résolu
meeks Messages postés 61 Statut Membre -  
 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...



A voir également:

3 réponses

Utilisateur anonyme
 
Salut,

au lieu de mettre ton code sur l'évènement after_update, mets le donc sur l'évènement change().

A+
0
Utilisateur anonyme
 
Re,

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)

??
0
meeks Messages postés 61 Statut Membre 3
 
Salut,

C'est bien ce que j'ai fait...sans succès...

J'avais lu un tuto sur le sujet...

Mais c'est ce que j'ai fait...concernant ton 2eme message et ca marche
0
Utilisateur anonyme
 
Re, résolu ???
0
meeks Messages postés 61 Statut Membre 3
 
Oui résolu, j'ai pas le réflexe sorry !

Merci à toi pour la 1000éme fois !
0
Utilisateur anonyme
 
lol !

Si souci, je ne serais pas là ces prochains jours. Tu as mon mail !

A+
0