bonjour,

bonjour,

je voudrais enregistrer des données dans une table d'une base de données Access à partir d'un datagridview, voici mon code:
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
Try
         'REUPERATION DU ID MAX DE la table ENT_INSPECTE
 
          Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Administrateur\Documents\DonnéesPlastiques.accdb")
               con.Open()
               Dim requet As String = "Select MAX(id_ENT) from ENT_INSPECTE "
               Dim commandE As New OleDbCommand(requet, con)
                   id = commandE.ExecuteScalar()
                   id_ent = id
                   con.Dispose()
                   con.Close()
        Catch ex As Exception
        MessageBox.Show(ex.Message)
        End Try
 
       'REMPLISSAGE De la TABLE PRODUIT
         Try
        Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Administrateur\Documents\DonnéesPlastiques.accdb")
        conn.Open()
        Dim i As Integer = 0
                ''Récuperer ligne par ligne
                For i = 0 To (DataGridView.RowCount - 2)
 
                    Dim Requete As String = "insert into produits(designation, Ref_Prod, Materiau, Stock, Poids_Lot, Poids_Unite, Largeur, Longueur, epaisseur, Resistance, Ordinaire, bio_Non, bio_Oui, bio_Vie, Oxo_Non, Oxo_OUI, Oxo_Vie, Destination1, Destination2, Destination3, Destination4, Observation, id_Ent) values('" & Me.DataGridView.Item(0, i).Value & "','" & Me.DataGridView.Item(1, i).Value & "','" & Me.DataGridView.Item(2, i).Value & "','" & Me.DataGridView.Item(3, i).Value & "'," & _
                    "'" & Me.DataGridView.Item(4, i).Value & "','" & Me.DataGridView.Item(5, i).Value & "','" & Me.DataGridView.Item(6, i).Value & "','" & Me.DataGridView.Item(7, i).Value & "','" & Me.DataGridView.Item(8, i).Value & "','" & Me.DataGridView.Item(9, i).Value & "'," & _
                    "'" & Me.DataGridView.Item(10, i).Value & "','" & Me.DataGridView.Item(11, i).Value & "','" & Me.DataGridView.Item(12, i).Value & "','" & Me.DataGridView.Item(13, i).Value & "','" & Me.DataGridView.Item(14, i).Value & "','" & Me.DataGridView.Item(15, i).Value & "'," & _
                    "'" & Me.DataGridView.Item(16, i).Value & "','" & Me.DataGridView.Item(17, i).Value & "','" & Me.DataGridView.Item(18, i).Value & "','" & Me.DataGridView.Item(19, i).Value & "','" & Me.DataGridView.Item(20, i).Value & "','" & Me.DataGridView.Item(21, i).Value & "','" & id_ent & "')"
                    Dim Commande As New OleDbCommand(Requete, conn)
 
                    Commande.ExecuteNonQuery()
 
                Next
 
        conn.Dispose()
        conn.Close()
 
    Catch ex As Exception
    MessageBox.Show(ex.Message)
    End Try
je récupère l' id de la dernière ligne de la table père (Ent_inspecte) avec la première requête, ce qui me permet de faire correspondre un enregistrement de la table père à un ou plusieurs de la table fils (produits).

le problème est que j'ai se message d'erreur lors de l'insertion de données dans la table produits:
Nom : Sans titre.jpg
Affichages : 588
Taille : 75,5 Ko

lors de la construction du datagridview j'ai pris soin de faire correspondre les types de chaque colonne avec ceux de la base, mais là je comprends plus !!!!!!!

j'ai vraiment besoin d'aide.

Merci