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

Webby -  
B2n Messages postés 40 Statut Membre -
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

5 réponses

  1. B2n Messages postés 40 Statut Membre 5
     
    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
  2. Webby
     
    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
  3. B2n Messages postés 40 Statut Membre 5
     
    Essaie en enlevant a chaque fois un attribut, tu verras bien le quel pose problème.
    0
  4. Webby
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. B2n Messages postés 40 Statut Membre 5
     
    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