Xtophe62
Messages postés2Date d'inscriptionjeudi 10 octobre 2013StatutMembreDernière intervention11 octobre 2013
-
10 oct. 2013 à 01:54
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
13 oct. 2013 à 23:21
Bonjour,
J'ai un programme VB.NET (développé avec VB 2010 Express) qui lit une table (Programme) Access (Office 2007) que je visualise dans un DataGridView (DGV_Programme).
' Chargement des données dans la table PB15DataSet.Programme
ProgrammeTableAdapter.Fill(Me.PB15DataSet.Programme)
J'ai un DataSet (PB15DataSet), un TableAdapter (ProgrammeTableAdapter) et une BindingSource (ProgrammeBindingSource).
La lecture et le Fill du DataGridView ne posent aucun problème, par contre, là où ça se gâte, c'est une fois des modifications réalisées dans le DataGridView pour les sauvegarder dans Access.
Le code suivant ne renvoie pas d'exception mais n'impact pas ma base non plus?
Try
Me.Validate()
Me.ProgrammeBindingSource.EndEdit()
Me.ProgrammeTableAdapter.Update(Me.PB15DataSet.Programme)
MsgBox("Modifications sauvegardées", MsgBoxStyle.Exclamation, Confirm)
Catch ex As Exception
MsgBox("Erreur, Programme NON sauvegardé!!!", MsgBoxStyle.Critical, Confirm)
End Try
J'ai trouvé beaucoup de topics sur de nombreux forums à ce sujet mais pas de réponse qui pourraient m'aider.
Que peut-il bien se passer? Si au moins ma base répondait qu'elle n'accepte pas l'écriture
D'avance merci pour votre aide.
torki2
Messages postés56Date d'inscriptionsamedi 21 février 2009StatutMembreDernière intervention16 novembre 20191 10 oct. 2013 à 14:08
avant d'appeler la méthode Update de ton dataAdpter il faut créer un objet CommanBuilder
dim cmdb as new oledb.oledbCommandBuilder(PB15DataSet)
ça devrai enregistrer tes modifications dans ta base
Xtophe62
Messages postés2Date d'inscriptionjeudi 10 octobre 2013StatutMembreDernière intervention11 octobre 2013 11 oct. 2013 à 08:46
Salut, Merci pour ta réponse,
ça ne fonctionne pas pour un problème de typage? :
Impossible de convertir un DataSet en OleDbDataAdapter
Ce qui m'inquiète le plus c'est que je n'ai pas grand chose d'OleDB à part ma : connectionStrings
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\PB15.accdb" providerName="System.Data.OleDb"
dans mon code...
Tout mes objets sont issus de la boîte à outils et ont été glissé et configurés sur ma Form.
Poste ton code en utilisant la coloration syntaxique 4 iem icon
essaie
Try
Me.ProgrammeBindingSource.EndEdit()
If Me.PB15DataSet.HasChanges Then
Me.ProgrammeTableAdapter.Update(Me.PB15DataSet.Programme)
End If
MsgBox("Modifications sauvegardées", MsgBoxStyle.Exclamation, Confirm)
Catch ex As Exception
MsgBox("Erreur, Programme NON sauvegardé!!!", MsgBoxStyle.Critical, Confirm)
me.validate
End Try
mets un point d'arret F9 à la ligne If MyDataSet.HasChanges
lance ton prog effectue une modification à la datagrid
et continue ensuite pas à pas
le If MyDataSet.HasChanges est executé ?