Bonjour

J'utilise SQL Seveur et VB.NET (2003)

Je vous expose mon petit soucis.

J'ai 3 tables afin de separer les informations sur le PC en lui meme et les differentes pieces (produits) qui le composent.

PCCOMPLET
-> RefPcComplet (cle primaire)
-> PcCNom
-> PcCPVHTVA
-> PcCQuantite

PCDETAIL
-> RefPcComplet (cle primaire)
-> RefProduit (cle primaire)

PRODUIT
-> RefProduit (cle primaire)
-> ProType
-> ProNom

Mon formulaire est constitue de textbox pour les infos venant de PCCOMPLET et de Combobox qui sont sensé afficher les pieces composant un PC (1 combobox pour les processeurs, 1 combobox pour les ecrans, ...)

J'utilise une procedure stockee pour charger les donnees au chargement du formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT * FROM PcComplet
INNER JOIN PcCompletDetail ON PcCompletDetail.RefPcComplet = PcComplet.RefPcComplet
ORDER BY PcComplet.RefPcComplet

J'utilise la databinding pour naviguer de PC a PC.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
TxbRefPcComplet.DataBindings.Add("Text", DTPcComplet, "RefPcComplet")
TxbPcNom.DataBindings.Add("Text", DTPcComplet, "PcCNom")
TxtPcCPVHTVA.DataBindings.Add("Text", DTPcComplet, "PcCPVHTVA")
TxtPcCQuantite.DataBindings.Add("Text", DTPcComplet, "PcCQuantite")
CmbProcesseur.DataBindings.Add("Text", DTPcComplet, "RefProduit")
CmbEcran.DataBindings.Add("Text", DTPcComplet, "RefProduit")
Et mes combobox sont remplies comme ceci (Exemple pour la Combobox des processeurs)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Dim SqlConnNew As New SqlConnection(StrConn)
SqlConnNew.Open()
Dim SqlCmd As New SqlCommand("SELECT RefProduit FROM Produit WHERE ProType ='CPU'", SqlConnNew)
Dim SqlReader As SqlDataReader = SqlCmd.ExecuteReader
If SqlReader.HasRows Then
    While SqlReader.Read
        CmbProcesseur.Items.Add(SqlReader.GetValue(0))
    End While
End If
SqlReader.Close()

J'arrive bien a afficher les donnees mais il y a un gros probleme, toute mes Combobox affiche la meme chose :'(
Cad que quand mon enregistrement avec le 1er PC s'affiche, les combobox sont toutes sur ce qui est sensé etre uniquement dans la combobox du processeur. Je click sur le bouton suivant et j'ai les combobox qui affichent ce qui est sensé etre uniquement dans la combobox de l'ecran.
Une fois que toute la composition du PC y est passé, ca passe au 2eme PC et ca refait la meme chose.

Comment puis je afficher le tout convenablement en recuperant les donnees dans les bonnes combobox ?


Ne sachant pas si c'est un probleme de base de donnee ou de Form avec les combobox, je vais aussi poster dans une autre partie du forum.

Merci d'avance pour votre aide