Mis a jour ACCESS et VB impossible

Fermé
yoshiro Messages postés 497 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 18 avril 2018 - Modifié par yoshiro le 17/06/2013 à 22:34
yoshiro Messages postés 497 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 18 avril 2018 - 18 juin 2013 à 13:51
Bonjour,

voila je travaille sur VB 2008 avec ACCESS 2003, mon problème est que j'arrive pas à mettre à jour ma BDD avec le datagriview les donnèes disparaient, la mis a jour ce fait en changeant de cellule.

Par contre l'ajout de donnée ce fait correctement !!!

Voici le code

Private Sub dataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) _
    Handles DataGridView1.CellValueChanged
        etabli.updates(e)
    End Sub

Public Sub updates(ByVal e)
        Dim NewLigne As DataRow

        Try
            'affectation des valeurs
            If (Accueiladm.DataGridView1.Rows(e.RowIndex).Cells(0).Value.ToString() = Nothing) Then
                RowNumber += 1
                maTableClone = New DataTable()
                maTableClone = newTable.Clone()
                DtSet = New DataSet()
                DtSet.Tables.Add(maTableClone)
                NewLigne = DtSet.Tables(NomTable).NewRow()

                NewLigne("Numero") = RowNumber
            Else
                NewLigne = DtSet.Tables(NomTable).Rows(e.RowIndex)
            End If

            'affectation des valeurs
            NewLigne("Nom") = Accueiladm.DataGridView1.Rows(e.RowIndex).Cells(2).Value.ToString()
            NewLigne("Prenom") = Accueiladm.DataGridView1.Rows(e.RowIndex).Cells(3).Value.ToString()
            NewLigne("Sexe") = Accueiladm.DataGridView1.Rows(e.RowIndex).Cells(4).Value.ToString()
            NewLigne("Date_Naissance") = Accueiladm.DataGridView1.Rows(e.RowIndex).Cells(5).Value.ToString()

            If (Accueiladm.DataGridView1.Rows(e.RowIndex).Cells(0).Value.ToString() = Nothing) Then
                ' Ajout de la ligne à la table
                DtSet.Tables(NomTable).Rows.Add(NewLigne)
            End If

            'genere automatiquement l'update entre le dataSet et la base de donnée
            Connection.Open()
            SelectCommand = New OleDbCommand("select * from " & NomTable , Connection)
            Adap = New OleDbDataAdapter(SelectCommand)
            SelectCommand.Connection = Connection

            CmdBuild = New OleDb.OleDbCommandBuilder(Adap)
            Adap.UpdateCommand = CmdBuild.GetUpdateCommand()
            Adap.Update(DtSet, NomTable)

            DtSet = New DataSet()
            Adap.Fill(DtSet, NomTable)
            newTable = DtSet.Tables(NomTable)
            Accueiladm.DataGridView1.DataSource = newTable
        Catch ex As Exception
            Connection.Close()
            MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
        Connection.Close()
    End Sub



Merci d'avance !!
A voir également:

1 réponse

yoshiro Messages postés 497 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 18 avril 2018 64
18 juin 2013 à 13:51
up !!
0