davidmaillard
Messages postés20Date d'inscriptiondimanche 4 janvier 2004StatutMembreDernière intervention28 juin 2011
-
28 juin 2011 à 16:17
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024
-
13 juil. 2011 à 19:03
Bonjour
Je code un programme pour l'aide à l’édition de repas.
J'avais commencé à le faire en mettant mes données dans des fichiers textes.
Puis je me suis dit que cela serait mieux dans une base de données.
Base que j'ai faite avec Access.
Alors j'ai un petit souci ^^, le code suivant rempli un Datagridview, quand l'utilisateur click dessus un bouton, avec les données extraites grâces a la requête.
Le problème, si l'utilisateur re-click sur le bouton, cela me ré-ajoute les entrées.
Pour être claire, premier click j'ai 123, deuxième click j'ai 123123, troisième click j'ai 123123123 ect...
Comme faire pour n'avoir que 123.
Merci
ListePrincipal.Rows.Clear()
'Déclaration de la variable pour la datatable
Dim dtt As DataTable
cnxstr "provider microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\Database\Nutri_Base.mdb;"
cnx = New OleDbConnection
cnx.ConnectionString = cnxstr
cnx.Open()
'Création de la requête sql
sql = "select * from Table_Recette WHERE Categorie='V'"
'Création de la commande et on l'instancie (sql)
cmd = New OleDbCommand(sql)
'Création du dataadapter (dta) et on l'instancie (cmd)
dta = New OleDbDataAdapter(cmd)
'On instancie la commande (cmd) à la connection (cnx)
cmd.Connection() = cnx
'On charge le dataset (dts) grace à la propriété fill du dataadapter (dta)
dta.Fill(dts, "Table_Recette")
'On charge la datatable (dtt) grace à la propriété tables du dataset (dts)
dtt = dts.Tables("Table_Recette")
If rownum > dtt.Rows.Count - 1 Then Exit Sub
For rownum = 0 To dtt.Rows.Count - 1
ListePrincipal.Rows.Add(dtt.Rows(rownum).Item("Nom"), dtt.Rows(rownum).Item("Poids"), dtt.Rows(rownum).Item("Categorie"), dtt.Rows(rownum).Item("Nutriment"))
Next
cnx = Nothing
davidmaillard
Messages postés20Date d'inscriptiondimanche 4 janvier 2004StatutMembreDernière intervention28 juin 2011 28 juin 2011 à 23:58
Oui j'ai essayé.
de faire un dts.clear() et un dts.Tables.clear() avant le data fill.
Mais c'est peut être pas la qu'il faut le mettre ?
Quant je lance le programme et que je click sur le bouton, la première fois tous ce passe bien, mais si je re-click dessus, j'ai plus rien dans la Datagridview .