Mise a jour complexe

Signaler
Messages postés
1
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
25 mai 2007
-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
Bonjour
Je suis en cours d'access
pour le moment , on n'a pas le droit d'utiliser les scripts VB.
J'ai une table cours qui contien : no_epreuve , no_special , noseq_pilote , tmp , tmp_penalite
et j'ai une table participation : no_epreuve , noseq_pilote , tmp_cumule

mon but et que avec une requete , je fase la somme de tmp et tmp_penalite par no_epreuve et noseq_pilote afin de le metre dans tmp_cumule.

Pour faire ça simplement , je passe pas une requete intermediaire qui me selection pour chaque noseq_pilote et chaque no_epreuve la somme des tmp:

SELECT course.no_epreuve, course.noseq_pilote, Sum([course].[temps_penalite]+[course].[temps]) AS somme_tps
FROM course
GROUP BY course.no_epreuve, course.noseq_pilote;

Cette requete marche bien.
Apres , je vais donc faire la mise a jour :

UPDATE participation, Somme_des_temps
SET participation.tmp_cumule = Somme_des_temps.somme_tps
WHERE participation.no_epreuve = Somme_des_temps.no_epreuve
AND participation.noseq_pilote = Somme_des_temps.noseq_pilote;

et quand j'execute , access me dit :
L'opération doit utiliser une requête qui peut être mise à jour.

...
Je comprend pas où est l'erreur ...
Quelqu'un a une idée ?
Merci

1 réponse

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
34
L'erreur vient du fait que tu veux mettre deux tables a jour en meme temps.

La syntaxe de ta requete n'est pas correcte.

UPDATE participation
SET participation.tmp_cumule = 10
WHERE participation.no_epreuve = 10

Voila une syaxe correcte

Il faut une requete select pour selection le noepreuve et le temps a renseigné.

Voila