Mise à jour datagridview

Signaler
Messages postés
136
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 mars 2014
-
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
-
Bonjour,
voilà mon promblème :
j'au un datagridview qui affiche les données de mes contacts de ma Bd access pour cette opération j'ai pas souci mais quand j'ajoute un autre contact les enregistrements s'affiche en double dans mon datagridview.
comme faire pour afficher que les enregistrements sans doublons.

Merci d'avance.

12 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
Manque l'essentiel : ta datagridview est-elle liée ou non ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
136
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 mars 2014
3
oui elle est liée
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
C'est alors la table qui est mal gérée (en ajout). La gridview ne fait que constater ce défaut !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
136
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 mars 2014
3
alors c'est quoi la solution
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
N'en sais rigoureusement rien sans connaître ta table, notamment à propos de sa clé/idart
Drôle de question.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Je te suggère de commencer à lire :
Tapez le texte de l'url ici.
Encore une fois : seule ta table et les ajouts que tu y fais sont concernés, pas ta grille (ne pas confondre symptômes et causes !)


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
136
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 mars 2014
3
voilà le code avec quoi je fais l'ajout des contact:

Private Sub ToolStripsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripsave.Click
conn "provider microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\gestionclient.mdb;"

cnx = New OleDbConnection
cnx.ConnectionString = conn
cnx.Open()
sql = "select classique.* from classique"
cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(cmd)
cmd.Connection() = cnx

'chargement du DataSet à partir du DataAdapter
dta.Fill(dts, "classique")

'chargement de la DataTable à partir du DataSet
dtt = dts.Tables("classique")
'crátion d'une nouvelle ligne avec les données des textbox
dtr = dts.Tables("classique").NewRow

dtr("rsoc") = Me.TextBox1.Text
dtr("police") = Me.TextBox2.Text
dtr("ncont") = Me.TextBox3.Text
dtr("pcont") = Me.TextBox4.Text
dtr("adresse") = Me.TextBox5.Text
dtr("ville") = Me.TextBox6.Text
dtr("tel1") = Me.MaskedTextBox1.Text
dtr("telfix") = Me.MaskedTextBox2.Text
dtr("fax") = Me.MaskedTextBox3.Text
dtr("mail") = Me.TextBox7.Text
dtr("coursier") = Me.TextBox8.Text
dtr("telcours") = Me.MaskedTextBox4.Text
dtr("observ") = Me.TextBox9.Text

'ajout de la ligne dans le DataSet
dts.Tables("classique").Rows.Add(dtr)
'ajout de la ligne dans le DataSet
cmdb = New OleDbCommandBuilder(dta)

'mise à jour des données du DataAdapter
'à partir du commandbuilder
dta.Update(dts, "classique")
MessageBox.Show("Contact ajouté avec succés", "Administrateur...", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
'on vide le dataset pour le recréer avec
'les nouvelles données
dts.Clear()
dta.Fill(dts, "classique")
dtt = dts.Tables("classique")
'**********************************************************
'mise à jour de la datagrid
Me.DataGridView1.DataSource = dts.Tables("classique")
'vider les textbox
'***************************************************************************
'aller au début du fichier
rownum = 0
End Sub
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Ben...
Si tu crois que cela renseigne sur ta table (et notamment sa clé primaire), je n'ai rien à ajouter.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
136
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 mars 2014
3
la clé primaire est le numéro automatique crée par access
Messages postés
136
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 mars 2014
3
oui vous avez raison, j'ai un problème dans l'ajout des contacts, au moment de validation de l'ajout ça marche, mais quand je ferme mon application et rentre une autre fois rien ne s'affiche dans ma datagriview et rien n'est enregistré dans ma table de base de données.
qu'elle est la solution.
je vous remercie de l'interet que vous porté à mon problème.
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
2
Woow ton code est pas mal déconcertant mais juste une question:Est ce que ce code fonctionne?

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
Salut,

Essaye avec

Me.DataGridView1.DataSource = Nothing

Avant

Me.DataGridView1.DataSource = dts.Tables("classique")

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.