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 :
Je précise que :
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
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
Partager