Filtre d'un Combobox en fonction d'un autre Combobox

Abdelkoudouss Messages postés 10 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 2 septembre 2010 - 1 sept. 2010 à 15:07
Abdelkoudouss Messages postés 10 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 2 septembre 2010 - 2 sept. 2010 à 16:31
Bonjour,
je bloke les gars je blooke
bon voila mon problème :
j'ai une form ou j'ai plusieurs contrôles y compris 2 combobox; combo1 et combo2.
le combo1 je l'ai rempli à partir de la table Planning avec la colonne Module.
ce que je souhaites c'est ne laisser dans le combo2 que les groupes ( une colonne dans la table Planning) ayant le module sélectionné dans le combo1.


j'ai essayé de :
** remplir le combo1 avec les modules ( CA MARCHE)
** après j'ai saisie ce code :
 Private Sub combo1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles combo1.SelectedIndexChanged
        If con.State = ConnectionState.Closed Then
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & "C:\syseva.mdb;" & "Jet OLEDB:Database Password=admin"
            con.ConnectionString = strConn
            con.Open()
        End If


        cmd.CommandText "SELECT [Planning].[groupe] FROM [Planning] WHERE [Planning].[Module] '" & combo1.SelectedItem & "' "

        cmd.Connection = con
        da.SelectCommand = cmd
        da.Fill(ds, "Planning")
        combo2.DataSource = ds.Tables("Planning")

    End Sub



Malheureusement ça marche du tout pas.

SVP des solutions.
Merci

2 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
1 sept. 2010 à 21:12
Salut,

Comment as-tu fait pour remplir ton combo1 ? Via les assistants de VB ou par code ?

Si c'est via les assistant, t'as du définir un colonne d'affichage et une colonne pour la valeur (dans ton cas c'est la même colonne), donc il suffit de chosir pour la valeur de l'élément sélectionné la colone Module également.

Si c'est par code, ajoute ceci à ton code :

Combo1.ValueMember = "Module"
Combo1.DisplayMember ="Module"


Voila, dans tous les cas il ne te resteras plus qu'a faire :

cmd.CommandText "SELECT [Planning].[groupe] FROM [Planning] WHERE [Planning].[Module] '" & combo1.SelectedValue.TosString & "' "



Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Abdelkoudouss Messages postés 10 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 2 septembre 2010
2 sept. 2010 à 16:31
Salut Mayzz, merci bcp pour ton post
j'ai suivi ce que tu as mentionné mais je tombes sur un autre problème.

bon après que je sélectionnes un certain item dans le combo1 je vérifies dans le combo2(filtré) je trouves que ca : System.Data.DataRowView


une idée?!
0
Rejoignez-nous