Problème Requête INSERTION Table VBA - ACCESS

Bonjour je souhaite faire une insertion de données dans une table avec VBA.

Voici mon code :

Sub Ecrire_LOGS_dans_BDD_Table()

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset

    Dim Chemin, MaBDD As String
    Chemin = "C:\Users\y*****\Downloads\Automatisation_Suspens\"
    MaBDD = "DATAS_SUSPENS.accdb"

    DBPath = Chemin & MaBDD

    Set cn = CreateObject("ADODB.Connection")

    Requete_SQL_Insertion = "INSERT INTO LOGS " & _
                            "(DATE_RELANCE, REFERENCE_GLOBE, ZONE, DEPOSITAIRE, TYPE_RELANCE, COLLABORATEUR, ETAT) " & _
                            "VALUES (" & _
                            "'" & Date_Relance & "', " & _
                            "'" & Ref_Globe & "', " & _
                            "'" & Zone & "', " & _
                            "'" & LDD & "', " & _
                            "'" & Type_de_Relance & "', " & _
                            "'" & Collaborateur & "', " & _
                            "'" & Statut_Envoi & "');"

    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBPath
    MsgBox (Requete_SQL_Insertion)
    Set rs = cn.Execute(Requete_SQL_Insertion)

    'rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing

End Sub

Toutes les variables sont de type String mais je ne comprends pas pour j'ai une erreur dans ma requête...

image

Quelqu'un peut-il m'aider ?

Merci bien :)

Bonjour,

Vérifiez les typages des champs :

  • les valeurs des champs numériques n'ont pas à être entourées de guillemets simples,
  • les valeurs des champs dates doivent être entourées de dièses et au format US (soit #11/01/2021# pour le 1er nov 2021),
  • et si une valeur d'un champs texte contient une apostrophe, il convient de la doubler ( ex : 'aujourd''hui').

Pierre

Merci pour vos messages.

J'ai réussi, ça marche avec ce que j'avais fait. J'avais mes variables et les noms de mes champs dans ma table qui se chevauchaient.

Merci

Bonjour,

j'ais vue ton poste sur le forum Access de DVP.com

je te propose une autre méthode!

sql="INSERT INTO C:\Myrep\DBTest.accdb.Table1  ( champ1, champ2 ) values( 'A', 'B')"
CurrentDb.execute  sql

Merci :)

Rechercher des sujets similaires à "probleme requete insertion table vba access"