[SQL] Erreur de syntaxe requête

Salut,

J'ai un message d'erreur récurrent (erreur de syntaxe) lors de l'ajout d'une entrées par une requête SQL.

J'ai donc voulu tester avec une requête toute simple :

BaseDonnées.Execute "INSERT INTO ConstructeurAvions$ (Clé) VALUES ('Bob')"

ConstructeurAvions et BaseDonnées sont des variables correctement définies, clé est le nom d'un des champs de la base , la recherche sur ces paramètres fonctionne sans problème.

Et j'ai toujours l'erreur de syntaxe...

Si quelque peut m'expliquer, parce que j'ai tout testé, avec / sans guillemets, avec / sans crochets, avec / sans parenthèses et je bloque...

Merci d'avance.

Manu

Bonjour Manu,

Qu'est ce que "ConstructeurAvions$" ? Et pourquoi ce $ ?

Si c'est du VBA et que ConstructeurAvions est le nom d'une variable qui contient le nom de la table, essaie plutôt quelque chose comme ça (non testé) :

BaseDonnées.Execute "INSERT INTO " & ConstructeurAvions & " (Clé) VALUES ('Bob')"

Cordialement,

ConstructeurAvions est le nom de l'onglet et du tableau dans lequel je veux insérer la nouvelle ligne

Voilà le fichier en question. Pour déclencher l'erreur il faut ouvrir le UserForm UF_000_menu_principal, sélectionner " Paramètres " puis " Constructeurs avion " puis cliquer sur Valider après après avoir sélectionné constructeur par le ComboBox et fait une modif dans un des TextBox.

L'erreur est sur la fonction publique AjoutEntrée dans le module RequêteSQL

J'ai besoin que la fonction INSERT INTO ajoute une nouvelle ligne dans l'onglet ConstructeurAvions avec les données reprises du ComboBox et des TextBox.

La recherche des données avec les mêmes paramètres fonctionne, mais pas l'enregistrement. Je m'arrache les cheveux là dessus depuis hier matin, je trouve pas la solution.

Merci d'avance pour le coup de main

Manu

C'est bon j'ai trouvé. J'ai testé la requête en ajoutant champ par champ, au bout d'une heure ça a marché.

En fait il faut mettre le nom de la feuille entre crochets et ajouter un $ à la fin, mettre les dates au format américain dans la variable DonnéeCréation, et il y avait un mic mac avec la création des valeurs des variables ChampCréation et DonnéeCréation.

Si ça peut aider ceux qui tomberont sur ce post d'ici quelques années, le code à utiliser dans le fichier joint plus haut est

SQL = "INSERT INTO [" & NomTable & "$] (" & ChampCréation & ") VALUES ('" & DonnéeCréation & "')"
BaseDonnées.Execute (SQL)

Avec les variables:

  • ChampCréation de la forme Champ1,Champ2,Champ3,Champ4, ...
  • DonnéeCréation de la forme Donnée1','Donnée2','Donnée3',....,'DonnéeX

Merci pour ceux qui auront planché dessus.

Manu

Rechercher des sujets similaires à "sql erreur syntaxe requete"