Bonjour,

J'ai un problème concernant la mise a jour d'une table dans ma base de données.
J'ai utilisé un module ou je fait la connexion a ma base et un formulaire de remplissage dans ma formé catégorie selon le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Imports System.Data
Imports System.Data.OleDb
 
Module Module1
    ' Déclaration Objet Connexion
    Public ObjetConnection As OleDbConnection
    ' Déclaration Objet Commande
    Public ObjetCommand As OleDbCommand
    ' Déclaration Objet DataAdapter
    Public ObjetDataAdapter As OleDbDataAdapter
    ' Déclaration Objet DataSet
    Public ObjetDataSet As New DataSet() 'Attention au New
    'String contenant la 'Requête SQL'
    Public strSql As String
    ' Déclaration Objet DataTable
    Public ObjetDataTable As DataTable
    ' Déclaration Objet DataRow (ligne)
    Public ObjetDataRow As DataRow
    'Numéro de la ligne en cours
    Public RowNumber As Integer 'Numéro de l'enregistrement courant
    'Paramêtres de connexion à la DB
    Public strConn As String
    'Pour recompiler les données modifiées avant de les remettre dans le
    '"DataAdapter"
    Public ObjetCommandBuilder As OleDbCommandBuilder
    Public Sub connexion(ByVal table As String)
        Try
            'Initialisation de la chaîne de paramètres pour la connexion
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & Application.StartupPath & "\" & "Gpi2.mdb;"
            'Initialisation de la chaîne contenant l'instruction SQL
            strSql = "SELECT * FROM " & table & ""
            'Instanciation d'un Objet Connexion
            ObjetConnection = New OleDbConnection()
            'Donner à la propriété ConnectionString les paramètres de connexion
            ObjetConnection.ConnectionString = strConn
            'Ouvrir la connexion
            ObjetConnection.Open()
            'Instancier un objet Commande
            ObjetCommand = New OleDbCommand(strSql)
            'Instancier un objet Adapter
            ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
            'initialiser l'objet Command
            ObjetCommand.Connection() = ObjetConnection
            'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
            ObjetDataAdapter.Fill(ObjetDataSet, "" & table & "")
            'Mettre dans un Objet DataTable une table du DataSet
            ObjetDataTable = ObjetDataSet.Tables("" & table & "")
        Catch ex As OleDbException
            MsgBox("Une erreur s'est prouduit lors de l'execution du programme")
        End Try
    End Sub ' Finalement la connexion est bien fait :)
End Module
La classe categorie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Imports System.Data.OleDb
 
Public Class Categorie
 
    Private Sub CATEGORIEBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Validate()
        Me.CATEGORIEBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.Gpi2DataSet)
 
    End Sub
 
    Private Sub Categorie_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'Gpi2DataSet.CATEGORIE' table. You can move, or remove it, as needed.
        Me.CATEGORIEBindingSource.AddNew()
        Me.CATEGORIETableAdapter.Fill(Me.Gpi2DataSet.CATEGORIE)
 
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        connexion("CATEGORIE")
        '************************************************
        '*************Ajout D'une CATEGORIE**************
        '************************************************
        ObjetDataRow = ObjetDataSet.Tables("CATEGORIE").NewRow()
        ObjetDataRow("Code_cat") = Me.Code_catTextBox.Text
        ObjetDataRow("Libelle") = Me.LibelleTextBox.Text
        ObjetDataSet.Tables("CATEGORIE").Rows.Add(ObjetDataRow)
        'Pour modifier les valeurs changées dans le DataAdapter
        ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
        'Mise à jour
        ObjetDataAdapter.Update(ObjetDataSet, "CATEGORIE")
        'On vide le DataSet et on le 'recharge' de nouveau.
        ObjetDataSet.Clear()
        ObjetDataAdapter.Fill(ObjetDataSet, "CATEGORIE")
        ObjetDataTable = ObjetDataSet.Tables("CATEGORIE")
        '*************************************************
        '************fin d'ajout de réparation************
        '*************************************************
    End Sub
 
    Private Sub Code_catTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Code_catTextBox.TextChanged
 
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.CATEGORIEBindingSource.AddNew()
    End Sub
End Class
Merci de m'aider