Access 2007 et SQL

Résolu
boudha74 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
boudha74 Messages postés 22 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

A voir également:

4 réponses

moiced59 Messages postés 1145 Date d'inscription   Statut Membre Dernière intervention   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
boudha74 Messages postés 22 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
moiced59 Messages postés 1145 Date d'inscription   Statut Membre Dernière intervention   60
 
De mon coté cela fonctionne verifie t nom
0
boudha74 Messages postés 22 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
boudha74 Messages postés 22 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
moiced59 Messages postés 1145 Date d'inscription   Statut Membre Dernière intervention   60
 
Comment ca que l'enregistrement en cour?
explique un peu mieux ou donne un exemple
0
boudha74 Messages postés 22 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
pancratee Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
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
pancratee Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
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
boudha74 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup Pancratee... cette fois ca fontionne parfaitement....
0