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

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. 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    
    
    1. 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
      1. Essaie en enlevant a chaque fois un attribut, tu verras bien le quel pose problème.
        1. 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 ?
          1. 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 & ";")