Bonjour,

j'ai créé un ComboBox avec comme source un requete sql qui est :
Dans ce ComboBox, il y a des nom de clients. Quand je clique sur un nom dans la liste déroulant, la valeur de base de change pas...

POURQUOI ?

Voici quelque bout de code :
- La connexion à la base de données (sur un evenement OnLoad)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
'creation du DataSet
		ds=New System.Data.DataSet()
 
		'chemin du fichier .mdb
		chemin=System.AppDomain.CurrentDomain.BaseDirectory() & "bdd.mdb"
 
		'chaine de connexion
		cs="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & chemin
 
		'la connexion
		cnx=New System.Data.OleDb.OleDbConnection
		cnx.ConnectionString=cs
		cnx.Open()
 
		'la commande
		cmd=New System.Data.OleDb.OleDbCommand
 
		'la requete
		sql="select * from Contact"
		cmd.CommandText=sql
 
		'creation d'un adaptateur
		adap= New System.Data.OleDb.OleDbDataAdapter(cmd)
		cmd.Connection=cnx
		adap.Fill(ds, "Contact") 'remplissage du DS à partir de la table "Contact"
		tbl=ds.Tables("Contact") 'objet table Contact
 
		MsgBox("Connexion à la base de données effectuée")
- DataSource de mon ComboBox (qui vient juste aprés la connexion) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
'Indiquer au ComboBox d'afficher la table "Contact" (indiquer la source)
		cbStruct_Cont.DataSource=ds.Tables("Contact")
		'Indiquer quelle colonne afficher
		cbStruct_Cont.DisplayMember="Struct_Cont"
- Codage de mon ComboBox
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub CbStruct_ContSelectedIndexChanged(sender As Object, e As EventArgs)
		'la commande
		cmd=New System.Data.OleDb.OleDbCommand
 
		'la requete
		sql="select Num_Cont from Contact where Struct_Cont='"+cbStruct_Cont.Text+"'"
		cmd.CommandText=sql	
 
		'creation d'un adaptateur
		adap= New System.Data.OleDb.OleDbDataAdapter(cmd)
		cmd.Connection=cnx
		adap.Fill(ds, "Contact") 'remplissage du DS à partir de la table "Contact"
		tbl=ds.Tables("Contact") 'objet table Contact
 
		'recherche du nom de la structure dans la base et incrémentation du n° de ligne
			Dim exp As String   'expression à rechercher
			'Dim sortOrder As String = "Nom DESC"
			Dim foundRows() As System.Data.DataRow   'résultat dans des DataRow
 
				exp="Struct_Cont='"+cbStruct_Cont.Text+"'"
				foundRows = tbl.Select(exp)'sortOrder
 
			Dim objetDatat1 As New System.Data.DataTable
				For Each r As System.Data.DataRow In foundRows
					objetDatat1.ImportRow(r)
				Next
				MsgBox("n° "+objetDatat1.Rows.Count.ToString)
		'AffichDS()
End Sub
dans ce dernier code il y a un recherche à partir d'un Nom (exp) et ensuite recupérer le numéros de ligne de la dataTable du résultat de la recherche.

Donc je recapitule, cela me donne bien le numéros de la ligne mais celui de la premiere valeur du ComboBox, et quand je clique sur une autre valeur elle ne change pas ! que faire ? ^^