Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2011, 09h22   #1
Invité de passage
 
Homme Adrien
Ingénieur systèmes et réseaux
Inscription : mai 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Adrien

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2011
Messages : 3
Points : 1
Points : 1
Par défaut Passer de INSERT/INTO a UPDATE

Suite à mon petit sujet ci-dessous:
http://www.developpez.net/forums/d10...dinsert-union/

J'essaye de transformer la requête utilisant une table temporaire:
Code :
1
2
3
4
5
6
7
8
9
10
SELECT * INTO TOTO
FROM (SELECT ME1.Equipe1, SUM(ME1.EQ1PTS) AS EScore
FROM MatchEquipes  AS ME1
GROUP BY ME1.Equipe1
 
UNION
 
SELECT ME2.Equipe2 , SUM(ME2.EQ2PTS) AS EScore
FROM MatchEquipes AS ME2
GROUP BY ME2.Equipe2)
en une requete d'Update (si on peu gagner une query, pourquoi s'en priver)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
UPDATE Equipe
INNER JOIN (SELECT ME1.Equipe1 AS ENom, SUM(ME1.EQ1PTS) AS EScore
FROM MatchEquipes  AS ME1
GROUP BY ME1.Equipe1
 
UNION
 
SELECT ME2.Equipe2 AS ENom, SUM(ME2.EQ2PTS) AS EScore
FROM MatchEquipes AS ME2
GROUP BY ME2.Equipe2)  AS Resultat
 
ON Equipe.Nom=Resultat.ENom
 
SET Equipe.ScoreTotal = Resultat.EScore;
Mais là il me dit que je dois utiliser une "Updateable Query"

Damned, à priori là j'ai pas fait de bourde dans le code, mais la syntaxe ne doit pas correspondre à ce qu'Access attend...

Help?
Timil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 09h38   #2
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 254
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 254
Points : 1 870
Points : 1 870
Bonjour,

Effectivement une requête union n'est pas updatable

Il est facile de savoir si une requête est modifiable ou non : il suffit de la créer dans la base des requêtes et de l'exécuter en direct. Dans un cas les champs sont modifiables, dans l'autre non...
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 18h36   #3
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
bonjour,

sinon en VBA ça marche à tous les coups:
Code sql :
1
2
3
4
5
6
7
8
9
10
 
UPDATE Equipe
SET Equipe.ScoreTotal=
Nz(
      DSum("EQ1PTS", "MatchEquipes", "Equipe1=" & Equipe.Nom)
 ,0)
+
Nz(
      DSum("EQ2PTS", "MatchEquipes", "Equipe2=" & Equipe.Nom)
 ,0)
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h38.


 
 
 
 
Partenaires

Hébergement Web