Bonjour,
J'ai un souci avec une requête UPDATE avec sous-requête corrélée qui ne fonctionne pas, dans Access 2000 et 2007. Message : "l'opération doit utiliser une requête qui peut être mise à jour".
Cette requête utilise les tables suivantes :
Table Plannifications :
- NumPlannif (clé primaire, n° auto.)
- JourSem (numérique - octet)
- Module (numérique - octet)
- Matiere (texte)
- DateDebutPlannif (date/hre)
- DateFinPlannif (date/hre)
- UneSemSurN (numérique - octet)
Table Calendrier :
- Date (clé primaire, Date/hre)
- Module (clé primaire, numérique - octet)
- NumPlannif (numérique - entier long)
La table Calendrier comporte tous les jours de l'année 2008-2009, avec 4 lignes (modules 1 à 4) pour chaque jour.
L'objectif de ma requête est de mettre à jour le champ Calendrier.NumPlannif pour chaque module et chaque jour du calendrier qui correspond à une plannification dans la table Plannifications.
Code de la requête :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 UPDATE Calendrier as C SET C.NumPlannif = (select P.NumPlannif from Plannifications as P where datepart("w",C.date)-1=P.JourSem and C.Module=P.Module and C.Date between P.DateDebutPlannif and P.DateFinPlannif) WHERE exists (select P.NumPlannif from Plannifications as P where datepart("w",C.date)-1=P.JourSem and C.Module=P.Module and C.Date between P.DateDebutPlannif and P.DateFinPlannif);
Quelqu'un a-t-il une idée sur la cause de cette erreur et sur une solution?
Merci de votre aide.




Répondre avec citation






Partager