Erreur de Syntaxe SQL INSERT TO [Résolu]

- - Dernière réponse :  Sophie - 18 août 2019 à 14:12
Bonjour,

Malgré plusieurs lectures de post sur le même sujet, je ne parvient pas à identifier l'erreur de mon SQL, quelqu'un peut-il m'aider svp?

DoCmd.RunSQL "INSERT INTO T-LIGNEFACTURE ([N° FACT AUTO],[N° PRODUIT],[QUANTITE]) VALUES (" & Form![NFACTAUTO] & " ," & Form![produit] & " ," & Form![QUANTITE] & ");"

T-LIGNEFACTURE - Table qui doit recevoir le nouvel enregistrement (clé primaire N° LIGNE, non renseignée)
Les valeurs à ajouter sont récupérées sur le formulaire ouvert et sont tous de type nombre standard.
Afficher la suite 

2 réponses

Messages postés
8527
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 septembre 2019
423
0
Merci
bonjour,
moi je ferais ainsi:
dim req as string
req =  "INSERT INTO T-LIGNEFACTURE ([N° FACT AUTO],[N° PRODUIT],[QUANTITE]) VALUES (" _
& Form![NFACTAUTO] & " ," & Form![produit] & " ," & Form![QUANTITE] & ")" 
debug.print req
DoCmd.RunSQL req

cela te permet de récupérer le texte de la requête, et de la tester manuellement.
Commenter la réponse de yg_be
0
Merci
Bonjour,
j'avais déjà testé mais cela ne me permet pas de trouver le problème ;-)
voici le retour ;
INSERT INTO T-LIGNEFACTURE ([N° FACT AUTO],[N° PRODUIT],[QUANTITE]) VALUES (74 ,67 ,8)

J'ai vérifié mes champs ils, dans la table ils sont en numérique entier long décimales automatique et dans le formulaire en nombre standard...
yg_be
Messages postés
8527
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 septembre 2019
423 -
as-tu testé la requête à la main? je pense que cela va rapidement te conduire vers une solution.
Je n'ai pas de problème avec la requête à la main...
yg_be
Messages postés
8527
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 septembre 2019
423 > Sophie -
comment fais-tu? utilises-tu le texte de la requête (
INSERT INTO T-LIGNEFACTURE ([N° FACT AUTO],[N° PRODUIT],[QUANTITE]) VALUES (74 ,67 ,8)
)?
dim req as string
req = "INSERT INTO [T-LIGNEFACTURE] ([N° FACT AUTO],[N° PRODUIT],[QUANTITE]) VALUES (" _
& Form![NFACTAUTO] & " ," & Form![produit] & " ," & Form![QUANTITE] & ")"
DoCmd.RunSQL req
Commenter la réponse de Sophie