Probleme de combo box

Résolu
cs_MATHIS49 Messages postés 368 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 14 mai 2010 - 12 janv. 2006 à 13:19
cs_MATHIS49 Messages postés 368 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 14 mai 2010 - 12 janv. 2006 à 16:28
Bonjour à tous,
je viens de débuter sur Vb.net et ado.net et j'ai besoin d'une petite explication ;)

J'ai un table "genre" avec un ID et une DESIGNATION sur access

exemple :
----------------
ID DESIGNATION
----------------
1 action
2 humour
3 comédie
---------------
etc..;

J'aimerais faire un combobox affichant les designations et renvoyé l'ID de la désignation selectionné


J'ai regardé un peut sur le net , j'ai trouvé un code pour remplir la combo des désignation , mais je sais pas comment récuperer l'id de la designation sélectionné

Le truc que j'ai trouvé pour remplir la combo et qui marche est (je suis en dataset) :

l_adapatateur.Fill(le_dataset, "tble_genre")
'remplissage de la combobox
chps_genre.DataSource = le_dataset.Tables("tble_genre")
chps_genre.DisplayMember = "gen_designation"


Merci ;)

4 réponses

olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
12 janv. 2006 à 13:41
salut,

au mm titre que tu as un displaymember, ya un truc du genre valuemember

chps_genre.DataSource = le_dataset.Tables("tble_genre")
chps_genre.DisplayMember = "gen_designation"
chps_genre.ValueMember = "gen_id"

Rollerman
3
cs_MATHIS49 Messages postés 368 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 14 mai 2010 1
12 janv. 2006 à 14:18
Merci ca marche ;) ,j'ai une autre question :

J'ai une datagrid qui affiche une liaison entre 2 tables (les films et le genre du film, ca me permet par exemple d'afficher : matrix | action etc..) ,j'ai trouvé une fonction pour mettre a jour le datagrid vers la base de donnée (si jai bien compris) , mais j'ai l'erreur :

----------------------------------------
Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans system.data.dll

Informations supplémentaires : La génération SQL dynamique n'est pas prise en charge pour plusieurs tables de base.
----------------------------------------

La fonction :

----------------------------------------
Private Sub maj_base(ByVal Adapter As OleDbDataAdapter, ByVal table As String)
la_connexion.Open()
' Création CommandBuilder
'(genere automatiquement l'update entre le dataSet et la base de donnée
Dim CmdBuild As OleDbCommandBuilder
CmdBuild = New OleDb.OleDbCommandBuilder(Adapter)
Adapter.UpdateCommand = CmdBuild.GetUpdateCommand()
Adapter.Update(le_dataset, table)
la_connexion.Close()
End Sub
----------------------------------------

Merci Rollerman
0
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
12 janv. 2006 à 15:33
re :)

ton message d'erreur est normal, le commandbuilder ne marche que pour les requetes sur 1 table.
Pour mieux comprendre le pb, essayes d'afficher Adapter.UpdateCommand.commandtext ou quelque chose comme ca.

Pour le résoudre, tu es obligé de générer toi mm ta requete update et ne pas utiliser le commandbuilder ou de gérer toi même les events de maj du dataadapter.
Va voir mon tuto, je pense que j'ai mis un truc la dessus: http://www.vbfrance.com/tutorial.aspx?ID=116

Rollerman
0
cs_MATHIS49 Messages postés 368 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 14 mai 2010 1
12 janv. 2006 à 16:28
ok merci , je vais potasser ton tuto ce week end, je pense trouvé la solution dedans ;)

merci encore
0
Rejoignez-nous