Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/12/2010, 19h50   #1
Invité de passage
 
Inscription : juin 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 7
Points : 2
Points : 2
Par défaut j'ai un pb avec docmd.runsql

* Bonjour, *

Contexte:
Après avoir lancé un publipostage je souhaite renseigner dans la base le fait qu'une convocation est partie.

solutions envisagées:
- modification de la table via l'utilisation des recordset. mais je n'y arrive pas
- j'essaye donc un update via docmd.Runsql ça marche pas non plus.

Cela fait plusieurs heures que je cherche et je trouve pas alors je me tourne vers vous... je vous mets ci dessous le code que j'utilise pour le runsql.

explications:
numNR -> récupère l'identifiant du rendezvous que je veux mettre à jour
Je souhaite renseigner la valeur "envoyé" dans le champ "convocation" de la table T_RendezVous

Code :
1
2
3
4
5
6
 
Dim NumNR As integer
NumNR = rs.Fields("nr")
msgbox NumNR
DoCmd.RunSQL ("UPDATE T_RendezVous SET T_RendezVous.Convocation ='envoyé' WHERE T_RendezVous.NR=" & NumNR & "")
DoCmd.Close
Pour l'instant je rentre chez moi, je vous répondrai demain s'il y a des réponses ce soir.

un grand merci d'avance pour vos réponses.
luc.guiavarch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 21h03   #2
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
Bonsoir,
pour éviter l'erreur, il manque ; entre les guillemets ou supprimer & ""
Code :
1
2
 
DoCmd.RunSQL ("UPDATE T_RendezVous SET T_RendezVous.Convocation ='envoyé' WHERE T_RendezVous.NR=" & NumNR & ";")
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 09h16   #3
Invité de passage
 
Inscription : juin 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 7
Points : 2
Points : 2
j'ai essayé les deux solutions avec le ; et sans comme si dessous et cela ne marche toujours pas.
La boite de dialogue affichant la valeur NumNR s'affiche tandis que la boite de dialogue test ne s'affiche pas. J'en déduit que le problème vient de la ligne de commande Docmd.runsql... mais peut être que je fais fausse route?

Code :
1
2
3
4
5
6
Dim NumNR As Long
NumNR = rs.Fields("nr")
msgbox NumNR
DoCmd.RunSQL ("UPDATE T_RendezVous SET T_RendezVous.Convocation ='envoyé' WHERE T_RendezVous.NR= " & NumNR)
msgbox "test"
DoCmd.Close
luc.guiavarch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 10h31   #4
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 255
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 255
Points : 1 870
Points : 1 870
Bonjour,

T_RendezVous est bien une table et non une requete ?
T_RendezVous.NR est bien numérique ?

Il est préférable d'utiliser la syntaxe que je donne dans cette file pour connaitre l'erreur (update... à la place de delete...)

De mon coté je cherche des tuyaux sur le publipostage, tu utilises quelle méthode ???
Merci de voir ma file : envoi de mail avec piece jointe
nico84 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 10h56   #5
Invité de passage
 
Inscription : juin 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 7
Points : 2
Points : 2
bonjour nico,
oui T_RendezVous est une table et NR est une clé avec numérotation automatique.

par contre je suis désolé mais je suis un peu perdu sur ton message concernant la gestion des messages d'erreur. J'ai pas compris ce qu'il faut mettre dans le code pour avoir la description de l'erreur.

Enfin, en ce qui concerne le publipostage, je n'envoie pas de mail, pour l'instant je me contente d'imprimer une lettre que la secrétaire envoie par la poste.

Modif du post:

j'ai réussi à insérer le gestionnaire de message d'erreur: il me dit que la table est déja utilisé ou ouverte dans l'interface et qu'elle ne peut pas être manipulé. Je regarde cela et je vous tiens au courant. En tous cas un grand mercipour l'idée du gestionnaire d'erreur. cela me met sur la voie.

merci de ton aide,
luc.guiavarch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 11h19   #6
Membre Expert
 
Inscription : janvier 2006
Messages : 1 111
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 1 111
Points : 1 093
Points : 1 093
Bonjour,

Et en remplaçant :
Code :
DoCmd.RunSQL ("UPDATE T_RendezVous SET T_RendezVous.Convocation ='envoyé' WHERE T_RendezVous.NR= " & NumNR)
par
Code :
currentdb.execute "UPDATE T_RendezVous SET Convocation ='envoyé' WHERE NR= " & NumNR , dbFailOnError
__________________
[Access] Les bases du débogage => ici
Kloun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 12h00   #7
Invité de passage
 
Inscription : juin 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 7
Points : 2
Points : 2
Citation:
Envoyé par luc.guiavarch Voir le message

j'ai réussi à insérer le gestionnaire de message d'erreur: il me dit que la table est déja utilisé en mode exclusif ou ouverte dans l'interface et qu'elle ne peut pas être manipulé. Je regarde cela et je vous tiens au courant. En tous cas un grand merci pour l'idée du gestionnaire d'erreur. cela me met sur la voie.

merci de ton aide,
luc.guiavarch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 13h50   #8
Invité de passage
 
Inscription : juin 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 7
Points : 2
Points : 2
le problème est résolu. Je lançais la commande depuis un formulaire basé sur une requête qui sollicitait la table T_RendezVous.

J'ai réglé le problème merci de votre aide.
luc.guiavarch est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h50.


 
 
 
 
Partenaires

Hébergement Web