Message syntaxe Incorrecte de l'instruction update
Serge_Eddy
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'écris un programme de Gestion de stock pièce de rechange en VB6. Et pour ce faire, j'ai créer une table Stock que je vais, à chaque fois qu'il y a un mouvement, la mettre à jour. Cela m'a ameneé à écrire le code suivant:
SqlSortie = "UPDATE T_Stock_DepMag SET Qte_entree = Qte_entree + " & Verse & " , SET Stock = (Stock + " & Verse & ") - Qte_sortie where Num_Enr_Depot = " & IntDepot & " And Num_Enr_Article = " & IntRemise & ""
adoConn.ConnectionString = DbCn
adoConn.CommandTimeout = 1200
adoConn.ConnectionTimeout = 1200
adoConn.Open
adoCmd.CommandText = SqlSortie
adoCmd.ActiveConnection = adoConn
adoCmd.Execute
Set adoCmd = Nothing
adoConn.Close
Set adoConn = Nothing
Sqlsortie est une variable string et verse, Intdepot, Intremise aussi des varible integer déclarés dans le programme.
A chaque fois que je tente de l'exécuter, j'ai le message suivant:
Erreur de syntaxe dans l'instruction Update.
C'est ce qui me bloque.
Merci de me venir en aide.
Serge Edy
J'écris un programme de Gestion de stock pièce de rechange en VB6. Et pour ce faire, j'ai créer une table Stock que je vais, à chaque fois qu'il y a un mouvement, la mettre à jour. Cela m'a ameneé à écrire le code suivant:
SqlSortie = "UPDATE T_Stock_DepMag SET Qte_entree = Qte_entree + " & Verse & " , SET Stock = (Stock + " & Verse & ") - Qte_sortie where Num_Enr_Depot = " & IntDepot & " And Num_Enr_Article = " & IntRemise & ""
adoConn.ConnectionString = DbCn
adoConn.CommandTimeout = 1200
adoConn.ConnectionTimeout = 1200
adoConn.Open
adoCmd.CommandText = SqlSortie
adoCmd.ActiveConnection = adoConn
adoCmd.Execute
Set adoCmd = Nothing
adoConn.Close
Set adoConn = Nothing
Sqlsortie est une variable string et verse, Intdepot, Intremise aussi des varible integer déclarés dans le programme.
A chaque fois que je tente de l'exécuter, j'ai le message suivant:
Erreur de syntaxe dans l'instruction Update.
C'est ce qui me bloque.
Merci de me venir en aide.
Serge Edy
A voir également:
- Message syntaxe Incorrecte de l'instruction update
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Message absence thunderbird - Guide
- Windows update bloqué - Guide
- Winget update - Guide
10 réponses
Bonjour
Dans un UPDATE, il faut mettre le mot SET une seule fois et pas le répéter pour chaque champ mis à jour.
D'autre part, peux-tu me dire à quoi ça sert d'ajouter une chaîne vide à la fin d'une chaîne ? ( & "")
Dans un UPDATE, il faut mettre le mot SET une seule fois et pas le répéter pour chaque champ mis à jour.
D'autre part, peux-tu me dire à quoi ça sert d'ajouter une chaîne vide à la fin d'une chaîne ? ( & "")
Logiquement j'avais mis un seul SET telque cela se présente ci - dessous
Et ce qui se présente à la fin n'est pas une chaîne vide .
SqlSortie = "UPDATE T_Stock_DepMag SET Qte_entree = Qte_entree + " & Verse & " , Stock = (Stock + " & Verse & ") - Qte_sortie where Num_Enr_Depot = " & IntDepot & " And Num_Enr_Article = " & IntRemise & ""
Merci pour la suite.
Et ce qui se présente à la fin n'est pas une chaîne vide .
SqlSortie = "UPDATE T_Stock_DepMag SET Qte_entree = Qte_entree + " & Verse & " , Stock = (Stock + " & Verse & ") - Qte_sortie where Num_Enr_Depot = " & IntDepot & " And Num_Enr_Article = " & IntRemise & ""
Merci pour la suite.
Tu as écris :
Cela m'a ameneé à écrire le code suivant:
SqlSortie = "UPDATE T_Stock_DepMag SET Qte_entree = Qte_entree + " & Verse & " , SET Stock = (Stock + " & Verse & ") - Qte_sortie where Num_Enr_Depot = " & IntDepot & " And Num_Enr_Article = " & IntRemise & ""
Cela m'a ameneé à écrire le code suivant:
SqlSortie = "UPDATE T_Stock_DepMag SET Qte_entree = Qte_entree + " & Verse & " , SET Stock = (Stock + " & Verse & ") - Qte_sortie where Num_Enr_Depot = " & IntDepot & " And Num_Enr_Article = " & IntRemise & ""
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Jusque là ça ne marche pas mais si je ne considère que la 1ère partie c'est - à - dire,
SqlSortie = "UPDATE T_Stock_DepMag SET Qte_entree = Qte_entree + " & Verse & " where Num_Enr_Depot = " & IntDepot & " And Num_Enr_Article = " & IntRemise & ""
Là ça marche
par contre si j'ajoute la syntaxe Stock = (Stock + " & Verse & ") - Qte_sortie
j'ai le message d'erreur sur la syntaxe de l'instruction. Comment alors présenter cette cette syntaxe?
SqlSortie = "UPDATE T_Stock_DepMag SET Qte_entree = Qte_entree + " & Verse & " where Num_Enr_Depot = " & IntDepot & " And Num_Enr_Article = " & IntRemise & ""
Là ça marche
par contre si j'ajoute la syntaxe Stock = (Stock + " & Verse & ") - Qte_sortie
j'ai le message d'erreur sur la syntaxe de l'instruction. Comment alors présenter cette cette syntaxe?
Je te signale que je t'ai déjà demandé :
As-tu fait un Debug.Print SqlSortie pour voir quelle est ta requête réelle ?
As-tu fait un Debug.Print SqlSortie pour voir quelle est ta requête réelle ?
C'est quoi un debug.print Sqlsortie sans succès ? L'instruction ne s'exécute pas ? Elle n'affiche rien ? Il y a un message d'erreur ? Ou tu ne comprends pas ce qu'il faut faire ? Ou tu ne sais pas où voir le résultat ?
Mes excuses de réagir en retard, c'est vrai que j'avais exécuté debug.print sqlsortie sans que s'affiche un message d'erreur, je n'ai pas vu le résultat bref je ne sais pas à quoi cela rime. Si tu peux m'expliquer comment ça marche?
Eddy
Eddy
Bonjour,
Le commande DebugPrint ne génère pas de message d'erreur !!!
Elle sert à déboguer un programme en écrivant la valeur qui la suit dans la fenêtre Exécution de l'éditeur Visual Basic.
Dans ce cas, la valeur de la variable SqlSortie, ce qui permet de contrôler que cette requête correspond bien à ce que tu voulais faire.
Si la fenêtre n'est pas affichée : Affichage / Variables locales
Cordialement
Patrice
Le commande DebugPrint ne génère pas de message d'erreur !!!
Elle sert à déboguer un programme en écrivant la valeur qui la suit dans la fenêtre Exécution de l'éditeur Visual Basic.
Dans ce cas, la valeur de la variable SqlSortie, ce qui permet de contrôler que cette requête correspond bien à ce que tu voulais faire.
Si la fenêtre n'est pas affichée : Affichage / Variables locales
Cordialement
Patrice