Erreur de Syntaxe SQL INSERT TO

Résolu/Fermé
Sophie - 17 août 2019 à 11:55
 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.

2 réponses

yg_be Messages postés 20297 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2022 1 225
17 août 2019 à 12:12
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.
0
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...
0
yg_be Messages postés 20297 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2022 1 225
Modifié le 17 août 2019 à 17:02
as-tu testé la requête à la main? je pense que cela va rapidement te conduire vers une solution.
0
Je n'ai pas de problème avec la requête à la main...
0
yg_be Messages postés 20297 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2022 1 225 > Sophie
17 août 2019 à 17:21
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)
)?
0
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
0