Mettre à jour des enregistrement dans une requête d'agrégat

Le
Michel Michel
[Access 2003 - FR, Win XP FR]

Bonjour !

Je me creuse la tête sur un problème tout bête.. J'ai une table
T_Commentaire :

IDClient - DateCom - Commentaire
1 1.8.10 Téléphone
1 3.8.10 Rappel
2 3.8.10 Envoi de lettre
2 7.8.10 Envoi E-Mail
2 7.8.10 Envoi 2ème mail

Maintenant, j'aimerais obtenir un tableau récapitulant les événements
les plus récents pour chaque client, comme ceci :

IDClient - DateCom - Commentaire
1 3.8.10 Rappel
2 7.8.10 Envoi mail
2 7.8.10 Envoi 2ème mail

J'y arrive très bien en utilisant une première requête d'agrégation=
,
avec la fonction MAX (Afin de déterminer les commentaires les plus
récents) :

SELECT T_Commentaire.IDClient, Max(T_Commentaire.DateCom) AS
MaxDeDateCom
FROM T_Commentaire
GROUP BY T_Commentaire.IDClient;

Et en faisant une deuxième requête par dessus cette première requêt=
e
que j'ai appelé R_MaxCom (Afin d'avoir la liste des commentaires) :

SELECT R_MaxCom.IDClient, T_Commentaire.DateCom,
T_Commentaire.Commentaire
FROM R_MaxCom INNER JOIN T_Commentaire ON (R_MaxCom.IDClient =
T_Commentaire.IDClient) AND (R_MaxCom.MaxDeDateCommentaire =
T_Commentaire.DateCommentaire);

Alors ça fonctionne très bien sauf que j'aimerais pouvoir mettre à
jour le champ commentaire de cette requête Elle reste en lecture
seule J'ai même mis la propriété de la requête "Type RecordSet" =
à
"Feuille rép.dyn.(MAJ globale)", mais ça ne marche pas non plus

Qui à une idée ? Merci d'avance !!!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel__D
Le #22481151
Bonjour,

Michel Michel a écrit :
[Access 2003 - FR, Win XP FR]

Bonjour !

Je me creuse la tête sur un problème tout bête.. J'ai une table
T_Commentaire :

IDClient - DateCom - Commentaire
1 1.8.10 Téléphone
1 3.8.10 Rappel
2 3.8.10 Envoi de lettre
2 7.8.10 Envoi E-Mail
2 7.8.10 Envoi 2ème mail

Maintenant, j'aimerais obtenir un tableau récapitulant les événements
les plus récents pour chaque client, comme ceci :

IDClient - DateCom - Commentaire
1 3.8.10 Rappel
2 7.8.10 Envoi mail
2 7.8.10 Envoi 2ème mail

J'y arrive très bien en utilisant une première requête d'agrégation,
avec la fonction MAX (Afin de déterminer les commentaires les plus
récents) :

SELECT T_Commentaire.IDClient, Max(T_Commentaire.DateCom) AS
MaxDeDateCom
FROM T_Commentaire
GROUP BY T_Commentaire.IDClient;

Et en faisant une deuxième requête par dessus cette première requête
que j'ai appelé R_MaxCom (Afin d'avoir la liste des commentaires) :

SELECT R_MaxCom.IDClient, T_Commentaire.DateCom,
T_Commentaire.Commentaire
FROM R_MaxCom INNER JOIN T_Commentaire ON (R_MaxCom.IDClient > T_Commentaire.IDClient) AND (R_MaxCom.MaxDeDateCommentaire > T_Commentaire.DateCommentaire);

Alors ça fonctionne très bien sauf que j'aimerais pouvoir mettre à
jour le champ commentaire de cette requête... Elle reste en lecture
seule... J'ai même mis la propriété de la requête "Type RecordSet" à
"Feuille rép.dyn.(MAJ globale)", mais ça ne marche pas non plus...

Qui à une idée ? Merci d'avance !!!




Essaye avec ceci :

SELECT T.IDClient, T.DateCom, T.Commentaire
FROM T_Commentaire AS T
WHERE T.DateCom In (
SELECT TOP 1 DateCom FROM T_Commentaire WHERE IDClient=T.IDClient ORDER BY DateCom DESC);
Michel Michel
Le #22482761
Essaye avec ceci :
SELECT T.IDClient, T.DateCom, T.Commentaire
FROM T_Commentaire AS T
WHERE T.DateCom In (
  SELECT TOP 1 DateCom FROM T_Commentaire WHERE IDClient=T.IDClient O RDER BY DateCom DESC);



Ca marche ! Ca
maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarche ! !!!
Merci mille fois !!!!
Michel__D
Le #22483851
Bonjour,

Michel Michel a écrit :
Essaye avec ceci :
SELECT T.IDClient, T.DateCom, T.Commentaire
FROM T_Commentaire AS T
WHERE T.DateCom In (
SELECT TOP 1 DateCom FROM T_Commentaire WHERE IDClient=T.IDClient ORDER BY DateCom DESC);



Ca marche ! Ca
maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarche !!!!
Merci mille fois !!!!



Mouais, comme quoi même ce qui n'est pas indiqué est possible ...
Publicité
Poster une réponse
Anonyme