Aide Access (VB) avec requête SQL (Update)

Fermé
Webby - 20 mai 2008 à 17:31
B2n Messages postés 40 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 25 janvier 2009 - 20 mai 2008 à 20:51
Bonjour,

J'essaye en vain d'exécuter cette requête :

dt2.Execute "UPDATE Ordonnance set Num_demandeur='" & Me.Numdem & "', Etat='Attente Enregistrements' WHERE Num_client='" & Me.Numcl & "' AND N°='" & Me.Numord & "';"

Je tombe sur une erreur : '438'
Propriété ou méthode non gérée par cet objet


Numcl, Numord et Numdem sont des entiers et les résultats sont corrects.
Il existe bien cet enregistrement dans la table

VB :

Set db = CurrentDb
Set dt2 = db.OpenRecordset("Ordonnance", dbOpenTable)

Puis la requête


Merci pour votre aide
A voir également:

5 réponses

B2n Messages postés 40 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 25 janvier 2009 5
20 mai 2008 à 19:09
Moi, j'aurais fait :
DoCmd.setWarnings False    'pour ne pas afficher le message disant qu'une maj va etre faite.
DoCmd.runSQL ("UPDATE Ordonnance SET [Num_demandeur]='" & Me.Numdem & "', [Etat]='Attente Enregistrements' WHERE [Num_client]='" & Me.Numcl & "' AND [N°]='" & Me.Numord & "';")
DoCmd.setWarnings True    
0
Merci.
Mais maintenant, j'ai une erreur (toujours au niveau de la requête) :

Erreur d'exécution '3464'
Type de données incompatible dans l'expression du critère.

Je me demande si c'est pas Etat qui bug... => texte
0
B2n Messages postés 40 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 25 janvier 2009 5
20 mai 2008 à 19:33
Essaie en enlevant a chaque fois un attribut, tu verras bien le quel pose problème.
0
J'ai tout enlevé (ou presque) et rien ne marche
j'ai essayé de faire des cint() sur les me.machin, mais rien
de même en enlevant le Etat :(

D'où cela pourrait-il venir ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
B2n Messages postés 40 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 25 janvier 2009 5
20 mai 2008 à 20:51
J'avais pas vu les simples quotes :
DoCmd.setWarnings False    'pour ne pas afficher le message disant qu'une maj va etre faite.
DoCmd.runSQL ("UPDATE Ordonnance SET [Num_demandeur]=" & Me.Numdem & ", [Etat]='Attente Enregistrements' WHERE [Num_client]=" & Me.Numcl & " AND [N°]=" & Me.Numord & ";")
DoCmd.setWarnings True  


Sinon mets toutes tes variables venant du formulaire dans des variables locales :
numDemandeur = Me.Numdem
etat = 'Atten...'
numClient = ...

DoCmd.runSQL ("UPDATE Ordonnance SET [Num_demandeur]=" & numDemandeur & ", [Etat]='" & etat & "' WHERE [Num_client]=" & numClient & " AND [N°]=" & num & ";")
0