Salut à toute la communauté et excusez moi beaucoup pour le dérangement.
En fait je veux insérer des données dans une base access 2007 mais j'ai une erreur qui se produit:
Erreur de Syntaxe dans l'instruction INSERT INTO.
J'avoue que j'ai vu et revu cette instruction mais à vrai dire je ne remarque rien d'anormale.
Voici le bout de 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Private Sub cmd_enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_enregistrer.Click
        ' Déclaration de la variable cmd
        ' OleDbCommand représentera ici une instruction SQL à exécuter par rapport à une source de données
        Dim cmd As OleDb.OleDbCommand
        ' Déclaration de sql_ajouter, qui contiendra la requête SQL permettant d'ajouter un enregistrement
        Dim sql_ajouter As String
        ' On écrit notre requête et on l'assigne à la variable sql_ajouter
        sql_ajouter = "INSERT INTO  Cotisation (ID_coti,mont_coti,dat_adhe,nom, prenom,dat_janv,dat_fev,dat_mars,dat_avr,dat_juin,dat_juill,dat_aout,dat_sept,dat_oct,dat_nov,dat_dec,avance,arrieres,total,somm_due,note) VALUES(Val_ID_coti, Val_mont_coti,Val_dat_adhe,Val_nom,Val_prenom,Val_dat_janv,Val_dat_fev,Val_dat_mars,Val_dat_avr,Val_dat_mai,Val_dat_juin,Val_dat_juill,Val_dat_aout,Val_dat_sept,Val_dat_oct,Val_dat_nov,Val_dat_dec,Val_avance,Val_arrieres,Val_total,Val_somm_due,Val_note) "
 
        ' Initialisation de la requête
        cmd = New OleDb.OleDbCommand(sql_ajouter, con)
 
        ' On définit les paramètres utilisés pour le bon déroulement de la requête
        ' On assigne à Val_pren" le texte contenu dans le prenom et ainsi de suite pour les autres
 
        cmd.Parameters.AddWithValue("Val_ID_coti", idtxt.Text)
        cmd.Parameters.AddWithValue("Val_mont_coti", montxt.Text)
        cmd.Parameters.AddWithValue("Val_dat_adhe", datadtxt.Text)
        ' On assigne à Val_Nomm" le texte contenu dans le nom
        cmd.Parameters.AddWithValue("Val_nom", nomtxt.Text)
        cmd.Parameters.AddWithValue("Val_prenom", prentxt.Text)
        cmd.Parameters.AddWithValue("Val_dat_janv", janv_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_fev", fev_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_mars", mars_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_avr", avr_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_mai", mai_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_juin", juin_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_juill", juill_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_aout", aout_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_sept", sept_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_oct", oct_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_nov", nov_txt.Text)
        cmd.Parameters.AddWithValue("Val_dat_dec", dec_txt.Text)
        cmd.Parameters.AddWithValue("Val_avance", avnctxt.Text)
        cmd.Parameters.AddWithValue("Val_arrieres", arrietxt.Text)
        cmd.Parameters.AddWithValue("Val_total", totaltxt.Text)
        cmd.Parameters.AddWithValue("Val_somm_due", sommdutxt.Text)
        cmd.Parameters.AddWithValue("Val_note", notxt.Text)
        'Ouverture de la connection
        cmd.Connection.Open()
 
        ' Exécution de la requête SQL
 
        cmd.ExecuteReader()
        ' Fermeture de la connexion
        cmd.Connection.Close()
 
 
 
 
        ' Message indiquant que le nouveau membre a bien été enregistré
        MsgBox("La Cotisation a bien été enregistrée.", MsgBoxStyle.Information)
 
        ' On vide le dataset
        ds.Clear()
 
        ' et on le réaffiche en faisant appel à Connexion()
        ' pour que notre nouveau contact apparaisse bien
        Connexion()
 
        ' Si la table contient 1 seul enregistrement après avoir cliqué sur le bouton ajouter
        ' il faut activer tous les boutons
        If Max_Enregistrements = 1 Then
            cmd_modifier.Enabled = True
            cmd_suivant.Enabled = True
            cmd_precedent.Enabled = True
            cmd_premier.Enabled = True
            cmd_dernier.Enabled = True
            cmd_supprimer.Enabled = True
 
        End If
    End Sub
Il faut dire aussi que ID_coti est une clé étrangère dans une autre table et ici dans la table cotisation,il est de type NuméroAuto.
Et je ne sais pas pourquoi il ne fonctionne pas car j'ai utilisé ce même code pour insérer des données dans les autres tables de ma base sans problème.

Merci d'avance.