Bonjour,
J'ai un petit soucis sur une macro VBA pour la création d'une base access. J'ai un formulaire de saisie de document qui regroupe différentes informations dont :
La référence (format texte)
La date de publication du document (format date)
Le numéro de bordereau d'envoi (format texte)
L'état (format numérique)
Sa révision (format numérique)

Je souhaite sur le clic d'un boutton que les informations du formulaire soit envoyées dans une table historique (nommé histo)

J'ai fais la macro VBA suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Private Sub Commande81_Click()
If IsNull(Me.ref_doc) Then Exit Sub
DoCmd.SetWarnings False 'on suspend les avertissements
   DoCmd.RunSQL "INSERT INTO histo (document, revision, date, num_be, etat) VALUES " & ref_doc & " AS Expr1," & lst_rev & " AS Expr2," & date_be & " AS Expr3," & num_be & " AS Expr4," & lst_etat & " AS Expr5;"
DoCmd.SetWarnings True ' on rétablit les messages d'avertissement
End Sub
Je précise que :

ref_doc : nom donné au champ formulaire ayant la référence document

lst_rev : nom donné à la liste déroulante ayant la révision

date_be : nom donné au champ formulaire ayant la date de publication

num_be: nom donné au champ formulaire ayant le numéro de bordereau

lst_etat : nom donné au à la liste déroulante ayant l'état du document

Lors de l'execution j'ai un problème run-time error 3134 : Erreur de syntaxe dans INSERT INTO mais je ne comprend pas pourquoi. J'ai regardé sur des forum et meme l'aide sur la commande DoCmd.RunSQL mais je n'ai rien trouvé.
J'ai testé aussi avec SELECT à la place de VALUES et & Me.variable & afin de trouver mais en vain..

Merci d'avance de la moindre idée de solution!

Nicolas