Requete Update en erreur
Résolu
Bonjour,
J'essaie de creer une requete de mise à jour de champ de texte avec la requete suivante
note_maj est une variable de type texte
UPDATE EnteteFacture SET EnteteFacture.[Note] = [note_maj] WHERE (((EnteteFacture.Code)='" & numbl & "'))
==> renvoie une erreur
UPDATE EnteteFacture SET EnteteFacture.[Note] = '&[note_maj]&' WHERE (((EnteteFacture.Code)='" & numbl & "'))
==> stocke note_mal dans mon champ note
Au secours
Merci
J'essaie de creer une requete de mise à jour de champ de texte avec la requete suivante
note_maj est une variable de type texte
UPDATE EnteteFacture SET EnteteFacture.[Note] = [note_maj] WHERE (((EnteteFacture.Code)='" & numbl & "'))
==> renvoie une erreur
UPDATE EnteteFacture SET EnteteFacture.[Note] = '&[note_maj]&' WHERE (((EnteteFacture.Code)='" & numbl & "'))
==> stocke note_mal dans mon champ note
Au secours
Merci
6 réponses
-
ModérateurSalut,
Tu utilises quoi comme langage où est exécutée la requête ?
Quelle est exactement le texte de l'erreur renvoyée ? Car vue la syntaxe on peut tout simplement imaginer que cela indique "colonne inexistante", xxx n'est par identifié comme une variable du langage, mais comme un nom de colonne du SGBD dans la 1ère syntaxe. Alors que '&xxx&' doit créer une chaine de caractère , encadrée par ' et ramenant le contenu de la variable xxx
-
En fait j ai crée une variable note_maj et je veux mettre a jour le champ entetefacture.note avec son contenu
Je n'arrive à ecrire dans entetefacture.note que "note_maj" ou ¬e_maj& en fonction de coomment je place les quotes
Il n'y a qu une erreur de syntaxe incorrecte-
-
@jee peeBonjour
Merci pour les réponses mais en fait note_maj contient une valeur de type texte et je souhaiterai que ce soit cette valeur qui s'inscrive dans mon champ.
Le contenu de la variable et pas le nom de la variable
L'erreur de syntaxe est pour la première Ligne
Merci -
Modérateur@Fred73240et que donne la même syntaxe que
='" & numbl & "'
?
-
-
cela fonctionne
mais si je l applique, cela affecte note_maj dans mon champ et pas sa valeur-
-
@jee peePardon
C est un soft de sage qui interprete du sql
Cela donne erreur de syntaxe operateur absent -
Modérateur@Fred73240il faudrait regarder la doc du logiciel pour voir les syntaxes exactes
aussi juste une observation, ta note est une chaine, elle contient A, B ou C ou 10, car si dans la base le champ est un nombre, il faudrait peut être faire une conversion text/number -
@jee peeNon elle contient du texte variable genre "Règlement ok"
La doc ne mentionne pas ces syntaxes, c'est du sql selon l editeur et je ne trouve pas la bonne syntaxe -
Modérateur@Fred73240Regarde la réponse que je t'ai donné : https://forums.commentcamarche.net/forum/affich-36961609-requete-update-en-erreur#12
-
-
ModérateurBonjour,
Déjà, lorsque tu postes du code sur le forum, tu dois utiliser les balises de code.
Cela permet d'avoir la coloration syntaxique.. et dans ton cas, ça pourrait être utile.
Explications à lire ( entièrement) disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, c'est, semble-t'il, juste un souci de concaténation entre ta string (la requête) et des variables.
Tu as réussi à le faire pour la variable numbl .. mais tu sembles coincer sur note_maj
Je suppose que cette ligne est entourrée par des doubles-quotes ...
Donc, j'essaierai un truc du genre"UPDATE EnteteFacture SET EnteteFacture.[Note] = '" & note_maj & "' WHERE (((EnteteFacture.Code)='" & numbl & "'))"
-
Bonsoir Jordane
Merci d 'avoir pris le temps de répondre
la reponse à ta requete est erreur de syntaxe dans la chaine de l'expression " 'blabla "
blabla est le contenu de note_maj-
-
@jordane45bien sur
execute "UPDATE EnteteFacture SET EnteteFacture.[Note] = '" & note_maj & "' WHERE (((EnteteFacture.Code)='" & numbl & "'))"
pour info lorsque j execute cette requete dans access cela fonctionne a merveille mais je n arrive pas a la traduire en SQL
UPDATE EnteteFacture SET EnteteFacture.[Note] = [note_maj] WHERE (((EnteteFacture.Code)=[numbl])); -
@Fred73240desole encore oublier les balises
-
Modérateur@Fred73240Et ta variable note_maj, elle contient quoi au juste ? il n'y aurait pas des apostrophes dedans ?
Et peux tu nous donner le message d'erreur exacte ? -
@jordane45le message d erreur est le suivant
erreur de syntaxe dans la chaine de l'expression " 'blabla "
non dans la variable il y a blabla
-
-
Merci a tous
L'erreur venait du nom de la variable, en enlevant le _ de note_maj tout fonctionne avec ma requete de base