Probleme avec combobox et datagridview

rb_nabil Messages postés 2 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 16 mai 2008 - 16 mai 2008 à 13:04
rb_nabil Messages postés 2 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 16 mai 2008 - 16 mai 2008 à 14:07
bonjour les amis,

je suis en train de developper un projet  vb.net(2005) et j'ai rencontre deux probleme.
j'ai trois form une pour l'ajout et la seconde pour le consultation des ajout et la 3eme pour la modification

- quand je fais un ajout d'une enregistrement dans une base de donnes dans la forme 1 apres je execute la forme 2 pour la consultation le probleme c'est l'ajout de 2 ligne avec les memes valeur ds le datagridview.

- Quand je suis dans la 3eme form de modification des donness le probleme quand je modifie une ligne cette ligne et bien modifier mais le combobox ne actualise pas cette modification et il a aussi des doubllon.

merci les amis.

2 réponses

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
16 mai 2008 à 13:16
Bonjour,

Alors je sais pas si c'est le cas de tous ceux qui ont pu lire ton post mais whaou!!! Compliqué à comprendre !

Questions :
Pourquoi 3 forms? La consultation, la modification, l'ajout ne peut pas être géré sur la même form ? En mettant la consultation par défaut en verrouillant tes zones et les déverouillant si on veut une modif ou les vidant dans le cas d'un ajout?

Comme tu ne nous mets pas ton code, je vais essayer de deviner.
Tu dois passer 2 fois dans ton instruction d'ajout. Test avec le pas à pas afin de vérifier.
Pour ta combo, resouds avant ce problème et ensuite tu verras pour ta combo mais en gros tu dois la recharger avec les nouvelles valeurs.

Bon courage.

SLB

---------------------------------------------------------------
Il faut beaucoup donner pour recevoir un tout petit peu...
---------------------------------------------------------------
0
rb_nabil Messages postés 2 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 16 mai 2008
16 mai 2008 à 14:07
tous d'abord merci pour ta reponse
voila mon code:

pour l'ajout:

Private
Sub ajouter_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles ajouter.Click

If nomprd.Text =
""
And typeprd.Text =
""
And prixachat.Text =
""
And prixvente.Text =
""
And qteprd.Text =
""
ThenMsgBox(

"Donnees Non saisie")

Elsestrconn =

"Provider=Microsoft.Jet.OLEDB.4.0;" & "Data SourceC:\Documents and Settings\nabil\Bureau\Gestion Droguerie\Gestion_Droguerie.mdb;"strsql
"select * from Produit"objetconnection New OleDbConnectionobjetconnection.ConnectionString strconn

objetconnection.Open()
objetcommande New OleDbCommand(strsql)objetdataadapter

New OleDbDataAdapter(objetcommande)objetcommande.Connection() = objetconnection

objetdataadapter.Fill(objetdataset,

"Produit")objetdatatable = objetdataset.Tables(

"Produit")objetdatarow = objetdataset.Tables(

"Produit").NewRow()objetdatarow(

"Nom_Produit") =
Me.nomprd.Textobjetdatarow(

"Type_Produit") =
Me.typeprd.Textobjetdatarow(

"Prix_Achat_Produit") =
Me.prixachat.Textobjetdatarow(

"Prix_Vente_Produit") =
Me.prixvente.Textobjetdatarow(

"Qt‚_Produit") =
Me.qteprd.Text 

objetdataset.Tables(

"Produit").Rows.Add(objetdatarow)ObjetCommandBuilder =

New OleDbCommandBuilder(objetdataadapter)objetdataadapter.Update(objetdataset,

"Produit")objetdataset.Clear()

objetdataadapter.Fill(objetdataset,

"Produit")objetdatatable = objetdataset.Tables(

"Produit")objetconnection.Close()

MsgBox(
"Donnee ajouter avec Succes")nomprd.Text ""typeprd.Text
""prixachat.Text ""prixvente.Text

""qteprd.Text =

""

EndIf

End
Sub

pour le combobox:

Private

Sub nomprd_SelectedIndexChanged(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles nomprd.SelectedIndexChangedstrconn =

"Provider=Microsoft.Jet.OLEDB.4.0;" & "Data SourceC:\Documents and Settings\nabil\Bureau\Gestion Droguerie\Gestion_Droguerie.mdb;"objetconnection

New OleDbConnection

Dim cmd As OleDbCommand objetconnection.CreateCommand()cmd.CommandText

"SELECT * FROM Produit WHERE Nom_Produit = '" & nomprd.Text &
"'"objetconnection.ConnectionString = strconn

objetconnection.Open()

Dim rdr
As OleDbDataReader = cmd.ExecuteReader()rdr.Read()

If rdr.HasRows
Thentypeprd.Text = rdr(

"Type_Produit")prixachat.Text = rdr(

"Prix_Achat_Produit")prixvente.Text = rdr(

"Prix_Vente_Produit")qteprd.Text = rdr(

"Qt‚_Produit")

End
Ifrdr.Close()

Me.nomprd.Text =
""

Me.nomprd.Refresh()objetconnection.Close()

End
Sub

Pour la Modification:

Private

Sub modifier_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles modifier.Click

If nomprd.Text =
""
And typeprd.Text =
""
And prixachat.Text =
""
And prixvente.Text =
""
And qteprd.Text =
""
ThenMsgBox(

"Donnees Non saisie")

Elsestrconn =

"Provider=Microsoft.Jet.OLEDB.4.0;" & "Data SourceC:\Documents and Settings\nabil\Bureau\Gestion Droguerie\Gestion_Droguerie.mdb;"strsql

"select * from Produit where Nom_Produit='" & nomprd.Text & "'"objetconnection New OleDbConnectionobjetconnection.ConnectionString strconn

objetconnection.Open()
objetcommande New OleDbCommand(strsql)objetdataadapter

New OleDbDataAdapter(objetcommande)objetcommande.Connection() = objetconnection

objetdataadapter.Fill(objetdataset,

"Produit")objetdatatable = objetdataset.Tables(

"Produit")objetdatarow = objetdataset.Tables(

"Produit").Rows(rownumbre)

'Modifier les valeurs des champs en r‚cup‚rant le contenu des TextBoxobjetdatarow(

"Nom_Produit") =
Me.nomprd.Textobjetdatarow(

"Type_Produit") =
Me.typeprd.Textobjetdatarow(

"Prix_Achat_Produit") =
Me.prixachat.Textobjetdatarow(

"Prix_Vente_Produit") =
Me.prixvente.Textobjetdatarow(

"Qt‚_Produit") =
Me.qteprd.Text 

'Pour modifier les valeurs chang‚es dans le DataAdapterObjetCommandBuilder =

New OleDbCommandBuilder(objetdataadapter)

'Mise … jourobjetdataadapter.Update(objetdataset,

"Produit")

Me.nomprd.Refresh()

'On vide le DataSet et on le 'recharge' de nouveau.objetdataset.Clear()

objetdataadapter.Fill(objetdataset,

"Produit")objetdatatable = objetdataset.Tables(

"Produit")objetconnection.Close()

MsgBox(
"Donnee Modifier avec Succes")nomprd.Text ""typeprd.Text
""prixachat.Text ""prixvente.Text

""qteprd.Text =

""

End
If

End
Sub

Pour Form Load

Private

Sub MiseajourProduit_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Loadstrconn =

"Provider=Microsoft.Jet.OLEDB.4.0;" & "Data SourceC:\Documents and Settings\nabil\Bureau\Gestion Droguerie\Gestion_Droguerie.mdb;"strsql
"select * from Produit"objetconnection New OleDbConnectionobjetconnection.ConnectionString strconn

objetconnection.Open()
objetcommande New OleDbCommand(strsql)objetdataadapter

New OleDbDataAdapter(objetcommande)objetcommande.Connection() = objetconnection

objetdataadapter.Fill(objetdataset,

"Produit")objetdatatable = objetdataset.Tables(

"Produit")objetdatarow = objetdataset.Tables(

"Produit").Rows(rownumbre)nomprd.DataSource = objetdatatable

nomprd.DisplayMember =

"Nom_Produit"objetconnection.Close()

End
Sub

Pour form Load de Datagridview

Private

Sub ConsulterProduit_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Loadstrconn =

"Provider=Microsoft.Jet.OLEDB.4.0;" & "Data SourceC:\Documents and Settings\nabil\Bureau\Gestion Droguerie\Gestion_Droguerie.mdb;"strsql
"select * from Produit"objetconnection New OleDbConnectionobjetconnection.ConnectionString strconn

objetconnection.Open()
objetcommande New OleDbCommand(strsql)objetdataadapter

New OleDbDataAdapter(objetcommande)objetcommande.Connection() = objetconnection

objetdataadapter.Fill(objetdataset,

"Produit")objetdatatable = objetdataset.Tables(

"Produit")objetdatarow = objetdataset.Tables(

"Produit").Rows(rownumbre)objetdatatable = objetdataset.Tables(

"Produit")DataGridView1.DataSource = objetdatatable

DataGridView1.Refresh()

objetconnection.Close()

End
Sub

merci bpc de m'aider
0
Rejoignez-nous