Access 2007 et SQL

Résolu
boudha74 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
boudha74 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je souhaite utiliser la commande SQLUPDATE pour mettre à jour une table "tSousRecette" avec la valeur calculée d'une zone de texte "ttxtTotal" du formulaire "fSousRecette".

Est ce que quelqu'un connait la synthaxe ?

Merci

4 réponses

  1. moiced59 Messages postés 1161 Statut Membre 60
     
    salut

    tu as oublié d'indiquer le nom du champ de la table a mettre a jour

    update "tSousRecette" set ton_champ_a_mettre_a_jour = [formulaires]![fSousRecette]![ttxtTotal]

    voila
    0
    1. boudha74 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
       
      Salut,

      merci pour ta reponse.... mais ca ne fonctionne pas.... il me renvoie l'erreur suivante :

      Erreur de syntaxe dans la requête.La clause de la requête est imcoplète.

      update "tSousRecette" set Prix_Unitaire_HT = [formulaires]![fSousRecette]![ttxtTotal]
      0
  2. moiced59 Messages postés 1161 Statut Membre 60
     
    De mon coté cela fonctionne verifie t nom
    0
    1. boudha74 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
       
      Salut,

      j'ai trouvé d'ou venait mon erreur, j'avais laissé les " " à tSouRecette, merci bien pour l'aide, ca m'a permis de finaliser mon application.

      Bravo.
      0
    2. boudha74 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
       
      Re Salut,

      j'ai repondu un peu vite, en testant je me suis aperçu que la requete mettait à jour l'ensemble des enregistrements de mon formulaire.

      Comment faire pour qu'elle mette à jour seulement l'enregistrement en cours ?

      Merci de ton aide.
      0
  3. moiced59 Messages postés 1161 Statut Membre 60
     
    Comment ca que l'enregistrement en cour?
    explique un peu mieux ou donne un exemple
    0
    1. boudha74 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
       
      Je dispose d'un formulaire fSousRecette dans lequel je renseigne plusieurs zones de texte et plusieurs zones deroulante qui alimentent chacun les champs d'un enregistrement dans la table. Je peux aller les consulter ou les modifier indefiniement, cela fonctionne trés bien.

      Je dispose enfin d'une zone de texte du formulaire fSousRecettequi est le resultat de la somme de deux zones de texte.

      Je souhaitais donc que ce resultat soit mis à jour dans le champ de l'enregistrement en cours.

      J'ai donc créé un requete avec la commande que tu m'a donné, puis créé un macro auquel j'ai affecté la requete et enfin créé un bouton auquel j'ai affecté cette macro.

      Quand je clic sur le bouton, la requete se lance bien.Le probléme c''est qu'au lieu de traiter seulement l'enregistrement ( ou la ligne) en cours de la table fSousRecette, cela met à jour tous les champs Prix_Unitaire_HT de chaque ligne avec la même valeur.

      J'espere avoir été a peu près clair.
      0
    2. pancratee Messages postés 17 Statut Membre
       
      Salut,

      dans ta requête de mise à jour, il suffit d'ajouter une condition "WHERE" d'un champ provenant de ton formulaire.

      ex : une table "CLIENT" avec 3 champ : NUM_CLT, NOM_CLT, TEL_CLT

      Dans le formulaire client tu retrouve ces 3 champs et tu souhaites mettre à jour le numéro de téléphone du client qui s'appelle "toto"

      UPDATE CLIENT SET CLIENT.TEL_CLT = "0601010101"
      WHERE CLIENT.NUM_CLT=[Formulaires]![NOM DU FORMULAIRE]![cbo_nomclt];


      cbo_nomclt est le nom du champ de ton formulaire dans lequel tu saisies le nom du client.

      et dans ce cas tu saisieras "toto" dans le formulaire.
      A toi d'adapter pour le reste ...

      Pancratee.
      0
  4. pancratee Messages postés 17 Statut Membre
     
    Salut,

    dans ta requête de mise à jour, il suffit d'ajouter une condition "WHERE" d'un champ provenant de ton formulaire.

    ex : une table "CLIENT" avec 3 champ : NUM_CLT, NOM_CLT, TEL_CLT

    Dans le formulaire client tu retrouve ces 3 champs et tu souhaites mettre à jour le numéro de téléphone du client qui s'appelle "toto"

    UPDATE CLIENT SET CLIENT.TEL_CLT = "0601010101"
    WHERE CLIENT.NUM_CLT=[Formulaires]![NOM DU FORMULAIRE]![cbo_nomclt];

    cbo_nomclt est le nom du champ de ton formulaire dans lequel tu saisies le nom du client.

    et dans ce cas tu saisieras "toto" dans le formulaire.
    A toi d'adapter pour le reste ...

    Pancratee.
    0
    1. boudha74 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci beaucoup Pancratee... cette fois ca fontionne parfaitement....
      0