daemangel
Messages postés9Date d'inscriptionsamedi 11 juillet 2009StatutMembreDernière intervention15 août 2009
-
2 mai 2007 à 15:48
l0r3nz1
Messages postés218Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention17 mars 2012
-
24 avril 2008 à 16:34
Bonjour à tous, je suis encore débutant dans vb.net et tout le tremblement mais je bloque sur un problème qui pourrais vous paraître simple.
Je cherche à effectuer un update sur une table Access, mais je n'y arrive pas.
Si ça peut aider voilà mon code:
-------------------------------------------------------------------------------------------------------
Public cnx As OleDbConnection
Public cmd As New OleDbCommand
Public ds As New DataSet("tab1")
Public da As New OleDbDataAdapter("select * from tab1", cnx)
Public dt As DataTable
Public i as Integer
conn "provider microsoft.jet.oledb.4.0 ; data source = c:\mabase.mdb;"
cnx = New OleDbConnection
cnx.ConnectionString = conn
cnx.Open()
da.Fill(ds, "Cimetiere")
dt = ds.Tables("Cimetiere")
For i = 0 To stockdata.Count - 1
'Msgbox pour vérifier si ma requête est correcte
MsgBox("UPDATE Cimetiere set " & Mid(test, 1, InStr(test, ". ") - 1) & "=" & """" & stockdata.Item(i) & """" & _
" Where " & primkey_name & "=" & """" & stockprimkey.Item(i) & """" & ";")
'Mid(test, 1, InStr(test, ". ") - 1) -->Ca représente le nom du champ à modifier
'stockdata.Item(i) --> Ca représente la valeur d'un arraylist à mettre dans le champ
'primkey_name -->C'est ma variable qui contient le nom de la clé primaire
'stockprimkey.Item(i) --> Ca représente la valeur d'un arraylist à mettre de la clé primaire
cmd = New OleDbCommand("UPDATE tab1 set " & Mid(test, 1, InStr(test, ". ") - 1) & "=" & """" & stockdata.Item(i) & """" & " Where " & primkey_name & "=" & """" & stockprimkey.Item(i) & """" & ";", cnx)
da.UpdateCommand = cmd
da.Update(ds)
Next
-------------------------------------------------------------------------------------------------------
Voilà si vous avez des questions hésitez pas et si vous avez des réponses hésitez encore moins.
Merci d'avance.
ptit_tof57
Messages postés79Date d'inscriptionlundi 28 août 2006StatutMembreDernière intervention 4 avril 20091 3 mai 2007 à 05:27
Salut je ne suis pas une pro du tout mais dans le peu de code que j'ai pu étudié il y avait une variable qui représenté un BindingSource
sur laquel on effectué l'instruction suivante "BindingSource".EndEdit avant de faire un update de la table vers la base de donnée.
Sur les exemples de code généré automatiquement par visual studio voici ce que j'obtient en cliquant sur le bouton enregistré :
daemangel
Messages postés9Date d'inscriptionsamedi 11 juillet 2009StatutMembreDernière intervention15 août 2009 3 mai 2007 à 07:28
Merci ptit_tof57, je viens de regarder ce que tu m'as donné, mais j'ai fortement l'impression qu'il s'agit de vérifier les contrôles d'une page, alors que mon traitement est automatisé et va chercher les infos dans un fichier texte. mais je vais creuser un peu plus loin pour voir si ça va pas me mener vers ce que je cherche.
Vous n’avez pas trouvé la réponse que vous recherchez ?
l0r3nz1
Messages postés218Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention17 mars 2012 24 avril 2008 à 16:34
1 an aprés...
OK, mais quand on créé son dataAdapter et son dataset ( pour ensuite eventuellement profiter de toutes les options de dataTable et dataRow)
pour ma part j'utilise seulement le dataset:
dst.AcceptChanges()
dst.Tables(0).Rows(5).Item(1) = "mmm"
puis
Try
dad.Update(dst, table) 'Update requiert un UpdateCommand valide lors du passage de la collection DataRow avec des lignes modifiées.
Catch ex As Exception
End Try
ou recupérer les infos dans un tableau >dst.Tables(0).Rows(1).ItemArray)<
dans ce cas je ne vais surement pas utiliser une commande update complexe! et comme on m'oblige à utiliser vb2005 en ce moment il faut que je m'y fasse.
Alors si quelqu'un pouvait m'expliquer svp de maniere à ce que je ne regrette pas trop VBA et ACCESS beaucoup plus souple que vb2005 et sql server.