Rechercher : dans
Par :

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

Dernière réponse le 20 mai 2008 à 20:51:46 Webby, le 20 mai 2008 à 17:31:05 
 Signaler ce message aux modérateurs

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

Configuration: Windows Vista
Firefox 3.0

1

B2n, le 20 mai 2008 à 19:09:35

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    

Répondre à B2n

2

Webby, le 20 mai 2008 à 19:24:07

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

Répondre à Webby

3

B2n, le 20 mai 2008 à 19:33:52

Essaie en enlevant a chaque fois un attribut, tu verras bien le quel pose problème.

Répondre à B2n

4

Webby, le 20 mai 2008 à 19:57:12

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 ?

Répondre à Webby

5

 B2n, le 20 mai 2008 à 20:51:46

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 & ";")

Répondre à B2n
Collection CommentÇaMarche.net