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