Probleme avec l'instruction update

Signaler
Messages postés
7
Date d'inscription
mercredi 4 juillet 2012
Statut
Membre
Dernière intervention
10 août 2012
-
Messages postés
67
Date d'inscription
vendredi 10 août 2012
Statut
Membre
Dernière intervention
12 avril 2013
-
Bonjour,
actuellement je suis entrain de faire un stage et mon sujet c'est développer une application de gestion de stock sur Access. Ça fait un moment que je bloque sur une instruction update. C'est surement une erreur de syntaxe mais j'ai beau me casser les meninges je ne vois pas l'erreur. L'instruction est la suivante,

chsql = "update Inventaire set Référence= "&Ref&",Désignation="&Dés&",DatedeSortie='"&stdate&"'"

J'ai envie de mettre a jour une table Inventaire dont les champs sont
référence, désignation, et DatedeSortie.
Merci d'avance pour votre aide

4 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,
Ce n'est pas là une question VB6, mais une question de formulation d'une requête !
Oublie VB6. Va directement dans ta base Access et édite ta requête à la main. Elle ne marchera pas ? C'est sûr ! Les critères de champs de type string devraient être encadrés de guillemets, par exemple ! Les critères de champs de type date, être entourés de #.
C'est donc plutôt la syntaxe des requêtes Access, qu'il te faut apprendre avant tout.
Une fois cela appris, il te suffira de reconstituer très exactement cette chaîne de requête de^puis VB6. Une simple msgbox de ta requête te montrera si elle est bien écrite (comme celle qui fonctionne en manuel).
Bonne étude.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
7
Date d'inscription
mercredi 4 juillet 2012
Statut
Membre
Dernière intervention
10 août 2012

je suis débutant sur le site et je n'ai pas trouvé mieux de poser cette question dans la rubrique VB6. j'ai corrigé la faute et maintenant l'erreur est
Erreur d’exécution 3075
Erreur de syntaxe (Opérateur absent) dans l'expression "Papier Duplicateur A4"
chsql = "update Inventaire set Référence= " & Ref & ",Désignation= " & Des & ",DatedeSortie='" & StDate & "'"
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Tu as cette erreur si, par exemple, un caractère ' se trouve inclus dans le critère retenu. Si tel est le cas, il te faut doubler ce caractère.
Je vois qu'en dépit de ce que je t'ai dit plus haut, tu continues à te jeter contre le grillage pour avoir un grain de blé.
Est-il si dur de penser simplement :
- à faire un msgbox chsql (pour voir ce que contient la chaîne de requête) ?
- à (si cohérente à l'affichage) l'appliquer directement (manuellement, don) depuis access ?
Je vois également que tu n'a tenu (mais ce sera une autre erreur encore) aucun compte de ce que je t'ai dit plus haut à propos des critères de date !
Veux-tu bien, s'il te plait, commencer à t'efforcer de regarder de plus près ce que tu fais (une msgbox t'y aidera) ? C'est cela, le développement bien compris.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
67
Date d'inscription
vendredi 10 août 2012
Statut
Membre
Dernière intervention
12 avril 2013
2
essayer avec la methode ado:
si vous ne savez pas ecrivez- moi
cn.Execute ("update Inventaire set Référence='" + ref.text + "',Désignation=" + des.text + ",DatedeSortie=" + stdate.text + "'")
NB: .text si c'est une zone texte