Numéroter un champ d'une requete
jadami
Messages postés
107
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Dans une requête Access, je voudrais avoir un champ qui me donne
un champ numéroté suivant ce schéma.
RéfAdhérent---------- NomAdhérent------------------- Numéro
100--------------------------A--------------------------------1
155--------------------------B--------------------------------2
155--------------------------B--------------------------------2
155--------------------------B--------------------------------2
200--------------------------C--------------------------------3
250--------------------------D--------------------------------4
250--------------------------D--------------------------------4
Est-ce que cela est possible ?
Merci pour votre aide.
Salutations
Dans une requête Access, je voudrais avoir un champ qui me donne
un champ numéroté suivant ce schéma.
RéfAdhérent---------- NomAdhérent------------------- Numéro
100--------------------------A--------------------------------1
155--------------------------B--------------------------------2
155--------------------------B--------------------------------2
155--------------------------B--------------------------------2
200--------------------------C--------------------------------3
250--------------------------D--------------------------------4
250--------------------------D--------------------------------4
Est-ce que cela est possible ?
Merci pour votre aide.
Salutations
4 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, je pense que c'est possible.
peux-tu nous décrire tes tables et tes champs, ainsi que ta requête (sans le numéro)?
cela nous permettra sans doute de te proposer une requête avec le numéro. -
Bonjour,
Merci pour ta réponse,
Je joins le SQL de ma requête ainsi qu'une photo du champ RéfAdhérent et
NomAdhérent :
SELECT Ttemp.RéfAdhérent, Ttemp.NomAdhérent, Ttemp.RéfAnimateur, Ttemp.Confirmé, Ttemp.Départ, Ttemp.ArrêtDéfinitif, Ttemp.ArrêtProvisoire, Ttemp.RéfAnimateurType, Ttemp.RéfFormation, Ttemp.DatesDu, Ttemp.DatesAu, Ttemp.Ville, Ttemp.[Validé le], Ttemp.Recyclage, Ttemp.AnnéeRecyclage, Ttemp.RéfFormationActivitéListe, Ttemp.NomPrénom, Ttemp.Adresse, Ttemp.Titre, Ttemp.ActivitéListe, T5.RéfActivitéListe, T5.RéfActivitéOption, T5.RéfFormationListe, T6.ActivitéListe, T7.ActivitéOption, T7.LibelléRegroup, T8.FormationListe, T8.LibelléListe, Ttemp.RéfDocument, T9.TypeDocument, T9.LibelléDocument
FROM ((((Ttemp LEFT JOIN [tbl Formations-Activités-Liste] AS T5 ON Ttemp.RéfFormationActivitéListe = T5.RéfFormationActivitéListe) LEFT JOIN [tbl Activités-Liste] AS T6 ON T5.RéfActivitéListe = T6.RéfActivitéListe) LEFT JOIN [tbl Activités-Option] AS T7 ON T5.RéfActivitéOption = T7.RéfActivitéOption) LEFT JOIN [tbl Formations-Liste] AS T8 ON T5.RéfFormationListe = T8.RéfFormationListe) LEFT JOIN [tbl Documents] AS T9 ON Ttemp.RéfDocument = T9.RéfDocument
WHERE (((Ttemp.RéfAnimateurType)=2) AND ((Ttemp.T2.Départ)<>True) AND ((Ttemp.T3.ArrêtDéfinitif)<>True))
ORDER BY Ttemp.T2.NomAdhérent;

Nota: lire Numéro au lieu de rang
Salutations-
-
que donne ceci?
select T91.NomAdhérent as nom, count(*) + 1 as rang from Ttemp as T91, Ttemp as T92 where T91.RéfAnimateurType=2 AND T91.T2.Départ<>True AND T91.T3.ArrêtDéfinitif<>True AND T92.RéfAnimateurType=2 AND T92.T2.Départ<>True AND T92.T3.ArrêtDéfinitif<>True AND T92.NomAdhérent < T91.NomAdhérent GROUP BY T91.NomAdhérent ORDER BY T91.NomAdhérent;
-
-
Bonsoir,
La requête fonctionne mais les enregistrements ne correspondent pas à ce que je veux, j’ai absolument besoin des lignes de toutes les tables ce qui suppose de ne pas faire de regroupement.
Dans l’image que j’ai joint toutes les lignes de réfAdhérent = a :
1541 doit avoir 1 comme valeur
5 doivent avoir 2 comme valeur
954 doivent avoir 3 comme valeur
etc ,,,,,,
Pour les deux champs on supprime le T2 et l'on garde l'autre en rajoutant le tri.
Salutations. -
Bonjour,
Non la numérotation doit commencer par 1
Je joins une image de la requête proposée, et une autre pour la requête
fusionnée ou l'on voit un blanc pour un nom.


Un grand merci pour ton aide.
Salutations.-
Pourquoi chaque adhérent est-il présent plusieurs fois dans Ttemp?
As-tu une autre table où chaque adhérent est présent une seule fois, avec ses valeurs pour RéfAnimateurType, Départ et ArrêtDéfinitif?
Sinon, il faut utiliser, dans la requete que j'ai proposé, ceci au lieu de Ttemp:select distinct RéfAdhérent, NomAdhérent, RéfAnimateurType, Départ, ArrêtDéfinitif from Ttemp
ce qui donne:SELECT T91.RéfAdhérent, T91.NomAdhérent AS nom, count(*) + 1 AS rang FROM (SELECT DISTINCT RéfAdhérent, NomAdhérent, RéfAnimateurType, Départ, ArrêtDéfinitif FROM Ttemp) AS T91, (SELECT DISTINCT RéfAdhérent, NomAdhérent, RéfAnimateurType, Départ, ArrêtDéfinitif FROM Ttemp) AS T92 WHERE T91.RéfAnimateurType=2 AND T91.T2.Départ<>True AND T91.T3.ArrêtDéfinitif<>True AND T92.RéfAnimateurType=2 AND T92.T2.Départ<>True AND T92.T3.ArrêtDéfinitif<>True AND T92.NomAdhérent < T91.NomAdhérent GROUP BY T91.NomAdhérent ORDER BY T91.NomAdhérent;
cela marche mieux?
-