Bonjour,
Je cherche à obtenir le dernier & l’avant-dernier d’une table T_Version pour
insérer dans un état (liste) ? Qui peut m’aider ou orienter mes recherches ?
Requête(s) ou Module ?
Merci d’avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fabien
Jiveday a écrit :
Bonjour, Je cherche à obtenir le dernier & l’avant-dernier d’une table T_Version pour insérer dans un état (liste) ? Qui peut m’aider ou orienter mes recherches ? Requête(s) ou Module ? Merci d’avance.
T_Edition ADM01 – Intitulé 1 – o ADM02 – Intitulé 2 – n ADM03 – Intitulé 3 – o
T_Version 1 – ADM01 – Version 1 – 01/01/2001 2 – ADM01 – Version 2 – 06/06/2006 3 – ADM01 – Version 3 – 08/08/2008 4 – ADM01 – Version 4 – 10/08/2008 5 – ADM02 6 – ADM03 – Version 1 – 03/04/2008 7 – ADM03 – Version 2 - 05/07/2008 8 – ADM03 – Version 3 – 07/08/2008 9 – ADM04 – Version 1 – 05/02/2008 …
Etat (IDedition & Intitulé & Dernière version & Avant-dernière version) ADM01 – Intitulé – Version 4 – 10/08/2008 – Version 3 – 08/08/2008 ADM02 – Intitulé ADM03 – Intitulé – Version 3 – 07/08/2008 – Version 2 – 05/07/2008 ADM04 – Intitulé – Version 1 – 05/02/2008
Salut En jouant avec select Top 2 Champ,Champ From Table where ID = ... order by Dateversion Desc; Tu reccuperes les deux enreg qui t'interesses. En passanr par un recordset tu devrais pouvoir affecter les valeur aux champs dans l'état. @+
Jiveday a écrit :
Bonjour,
Je cherche à obtenir le dernier & l’avant-dernier d’une table T_Version pour
insérer dans un état (liste) ? Qui peut m’aider ou orienter mes recherches ?
Requête(s) ou Module ?
Merci d’avance.
T_Edition
ADM01 – Intitulé 1 – o
ADM02 – Intitulé 2 – n
ADM03 – Intitulé 3 – o
T_Version
1 – ADM01 – Version 1 – 01/01/2001
2 – ADM01 – Version 2 – 06/06/2006
3 – ADM01 – Version 3 – 08/08/2008
4 – ADM01 – Version 4 – 10/08/2008
5 – ADM02
6 – ADM03 – Version 1 – 03/04/2008
7 – ADM03 – Version 2 - 05/07/2008
8 – ADM03 – Version 3 – 07/08/2008
9 – ADM04 – Version 1 – 05/02/2008
…
Etat (IDedition & Intitulé & Dernière version & Avant-dernière version)
ADM01 – Intitulé – Version 4 – 10/08/2008 – Version 3 – 08/08/2008
ADM02 – Intitulé
ADM03 – Intitulé – Version 3 – 07/08/2008 – Version 2 – 05/07/2008
ADM04 – Intitulé – Version 1 – 05/02/2008
Salut
En jouant avec select Top 2 Champ,Champ From Table where ID = ... order
by Dateversion Desc;
Tu reccuperes les deux enreg qui t'interesses. En passanr par un
recordset tu devrais pouvoir affecter les valeur aux champs dans l'état.
@+
Bonjour, Je cherche à obtenir le dernier & l’avant-dernier d’une table T_Version pour insérer dans un état (liste) ? Qui peut m’aider ou orienter mes recherches ? Requête(s) ou Module ? Merci d’avance.
T_Edition ADM01 – Intitulé 1 – o ADM02 – Intitulé 2 – n ADM03 – Intitulé 3 – o
T_Version 1 – ADM01 – Version 1 – 01/01/2001 2 – ADM01 – Version 2 – 06/06/2006 3 – ADM01 – Version 3 – 08/08/2008 4 – ADM01 – Version 4 – 10/08/2008 5 – ADM02 6 – ADM03 – Version 1 – 03/04/2008 7 – ADM03 – Version 2 - 05/07/2008 8 – ADM03 – Version 3 – 07/08/2008 9 – ADM04 – Version 1 – 05/02/2008 …
Etat (IDedition & Intitulé & Dernière version & Avant-dernière version) ADM01 – Intitulé – Version 4 – 10/08/2008 – Version 3 – 08/08/2008 ADM02 – Intitulé ADM03 – Intitulé – Version 3 – 07/08/2008 – Version 2 – 05/07/2008 ADM04 – Intitulé – Version 1 – 05/02/2008
Salut En jouant avec select Top 2 Champ,Champ From Table where ID = ... order by Dateversion Desc; Tu reccuperes les deux enreg qui t'interesses. En passanr par un recordset tu devrais pouvoir affecter les valeur aux champs dans l'état. @+
Jiveday
Bonjour
merci Fabien pour cette proposition. J'ai trouvé une solution via 2 requêtes (adaptation d'une idée de Michel_D pour calculer une évolution boursière) en créant l'état à partir de la 2ème requête. 1ère requête pour trouver l'avant-dernier (req_avantdernier) SELECT T1.IDedition, max(T2.DateVersion) AS DateAvantDernier,max(T2.N°version) AS TexteAvantDernier FROM T_Versions AS T1 INNER JOIN T_Versions AS T2 ON (T1.IDedition=T2.IDedition) AND (T1.DateVersion>T2.DateVersion) GROUP BY T1.TRI; 2ème requête pour regrouper les 2 sur 1 même ligne SELECT t1.IDedition, Max(t1.Intitulé) AS TITRE, Max(t1.DateVersion) AS [Date en vigueur], t.TexteAvantDernier AS [Version précédente], t.DateAvantDernier AS [Date précédente] FROM t_versions AS t1 LEFT JOIN req_avantdernier AS t ON t1.IDedition= t.IDedition GROUP BY t1.IDedition, t.TexteAvantDernier, t.DateAvantDernier;
"Fabien" a écrit :
Jiveday a écrit : > Bonjour, > Je cherche à obtenir le dernier & l’avant-dernier d’une table T_Version pour > insérer dans un état (liste) ? Qui peut m’aider ou orienter mes recherches ? > Requête(s) ou Module ? > Merci d’avance. > > Table T_Edition - IDedition, Intitulé, EnVigueur (o/n). > Table T_Version – Idversion, IDedition, N°version, DateVersion > > T_Edition > ADM01 – Intitulé 1 – o > ADM02 – Intitulé 2 – n > ADM03 – Intitulé 3 – o > > T_Version > 1 – ADM01 – Version 1 – 01/01/2001 > 2 – ADM01 – Version 2 – 06/06/2006 > 3 – ADM01 – Version 3 – 08/08/2008 > 4 – ADM01 – Version 4 – 10/08/2008 > 5 – ADM02 > 6 – ADM03 – Version 1 – 03/04/2008 > 7 – ADM03 – Version 2 - 05/07/2008 > 8 – ADM03 – Version 3 – 07/08/2008 > 9 – ADM04 – Version 1 – 05/02/2008 > … > > Etat (IDedition & Intitulé & Dernière version & Avant-dernière version) > ADM01 – Intitulé – Version 4 – 10/08/2008 – Version 3 – 08/08/2008 > ADM02 – Intitulé > ADM03 – Intitulé – Version 3 – 07/08/2008 – Version 2 – 05/07/2008 > ADM04 – Intitulé – Version 1 – 05/02/2008 > Salut En jouant avec select Top 2 Champ,Champ From Table where ID = ... order by Dateversion Desc; Tu reccuperes les deux enreg qui t'interesses. En passanr par un recordset tu devrais pouvoir affecter les valeur aux champs dans l'état. @+
Bonjour
merci Fabien pour cette proposition.
J'ai trouvé une solution via 2 requêtes (adaptation d'une idée de Michel_D
pour calculer une évolution boursière) en créant l'état à partir de la 2ème
requête.
1ère requête pour trouver l'avant-dernier (req_avantdernier)
SELECT T1.IDedition, max(T2.DateVersion) AS
DateAvantDernier,max(T2.N°version) AS TexteAvantDernier
FROM T_Versions AS T1 INNER JOIN T_Versions AS T2 ON
(T1.IDedition=T2.IDedition) AND (T1.DateVersion>T2.DateVersion)
GROUP BY T1.TRI;
2ème requête pour regrouper les 2 sur 1 même ligne
SELECT t1.IDedition, Max(t1.Intitulé) AS TITRE, Max(t1.DateVersion) AS [Date
en vigueur], t.TexteAvantDernier AS [Version précédente], t.DateAvantDernier
AS [Date précédente]
FROM t_versions AS t1 LEFT JOIN req_avantdernier AS t ON t1.IDedition=
t.IDedition
GROUP BY t1.IDedition, t.TexteAvantDernier, t.DateAvantDernier;
"Fabien" a écrit :
Jiveday a écrit :
> Bonjour,
> Je cherche à obtenir le dernier & l’avant-dernier d’une table T_Version pour
> insérer dans un état (liste) ? Qui peut m’aider ou orienter mes recherches ?
> Requête(s) ou Module ?
> Merci d’avance.
>
> Table T_Edition - IDedition, Intitulé, EnVigueur (o/n).
> Table T_Version – Idversion, IDedition, N°version, DateVersion
>
> T_Edition
> ADM01 – Intitulé 1 – o
> ADM02 – Intitulé 2 – n
> ADM03 – Intitulé 3 – o
>
> T_Version
> 1 – ADM01 – Version 1 – 01/01/2001
> 2 – ADM01 – Version 2 – 06/06/2006
> 3 – ADM01 – Version 3 – 08/08/2008
> 4 – ADM01 – Version 4 – 10/08/2008
> 5 – ADM02
> 6 – ADM03 – Version 1 – 03/04/2008
> 7 – ADM03 – Version 2 - 05/07/2008
> 8 – ADM03 – Version 3 – 07/08/2008
> 9 – ADM04 – Version 1 – 05/02/2008
> …
>
> Etat (IDedition & Intitulé & Dernière version & Avant-dernière version)
> ADM01 – Intitulé – Version 4 – 10/08/2008 – Version 3 – 08/08/2008
> ADM02 – Intitulé
> ADM03 – Intitulé – Version 3 – 07/08/2008 – Version 2 – 05/07/2008
> ADM04 – Intitulé – Version 1 – 05/02/2008
>
Salut
En jouant avec select Top 2 Champ,Champ From Table where ID = ... order
by Dateversion Desc;
Tu reccuperes les deux enreg qui t'interesses. En passanr par un
recordset tu devrais pouvoir affecter les valeur aux champs dans l'état.
@+
merci Fabien pour cette proposition. J'ai trouvé une solution via 2 requêtes (adaptation d'une idée de Michel_D pour calculer une évolution boursière) en créant l'état à partir de la 2ème requête. 1ère requête pour trouver l'avant-dernier (req_avantdernier) SELECT T1.IDedition, max(T2.DateVersion) AS DateAvantDernier,max(T2.N°version) AS TexteAvantDernier FROM T_Versions AS T1 INNER JOIN T_Versions AS T2 ON (T1.IDedition=T2.IDedition) AND (T1.DateVersion>T2.DateVersion) GROUP BY T1.TRI; 2ème requête pour regrouper les 2 sur 1 même ligne SELECT t1.IDedition, Max(t1.Intitulé) AS TITRE, Max(t1.DateVersion) AS [Date en vigueur], t.TexteAvantDernier AS [Version précédente], t.DateAvantDernier AS [Date précédente] FROM t_versions AS t1 LEFT JOIN req_avantdernier AS t ON t1.IDedition= t.IDedition GROUP BY t1.IDedition, t.TexteAvantDernier, t.DateAvantDernier;
"Fabien" a écrit :
Jiveday a écrit : > Bonjour, > Je cherche à obtenir le dernier & l’avant-dernier d’une table T_Version pour > insérer dans un état (liste) ? Qui peut m’aider ou orienter mes recherches ? > Requête(s) ou Module ? > Merci d’avance. > > Table T_Edition - IDedition, Intitulé, EnVigueur (o/n). > Table T_Version – Idversion, IDedition, N°version, DateVersion > > T_Edition > ADM01 – Intitulé 1 – o > ADM02 – Intitulé 2 – n > ADM03 – Intitulé 3 – o > > T_Version > 1 – ADM01 – Version 1 – 01/01/2001 > 2 – ADM01 – Version 2 – 06/06/2006 > 3 – ADM01 – Version 3 – 08/08/2008 > 4 – ADM01 – Version 4 – 10/08/2008 > 5 – ADM02 > 6 – ADM03 – Version 1 – 03/04/2008 > 7 – ADM03 – Version 2 - 05/07/2008 > 8 – ADM03 – Version 3 – 07/08/2008 > 9 – ADM04 – Version 1 – 05/02/2008 > … > > Etat (IDedition & Intitulé & Dernière version & Avant-dernière version) > ADM01 – Intitulé – Version 4 – 10/08/2008 – Version 3 – 08/08/2008 > ADM02 – Intitulé > ADM03 – Intitulé – Version 3 – 07/08/2008 – Version 2 – 05/07/2008 > ADM04 – Intitulé – Version 1 – 05/02/2008 > Salut En jouant avec select Top 2 Champ,Champ From Table where ID = ... order by Dateversion Desc; Tu reccuperes les deux enreg qui t'interesses. En passanr par un recordset tu devrais pouvoir affecter les valeur aux champs dans l'état. @+