Numéroter un champ d'une requete

jadami Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 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
A voir également:

4 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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.
0
jadami Messages postés 101 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Tu as dans ta table Ttemp deux champs, Ttemp.NomAdhérent et Ttemp.T2.NomAdhérent. Dans quel but?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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;
0
jadami Messages postés 101 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
est-ce que la requête proposée calcule correctement le rang de chacun? si oui, il suffit de fusionner ta requête de départ et la requête proposée. si non, je préfère d'abord corriger la requête proposée.
0
jadami Messages postés 101 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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?
0