Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/12/2010, 14h25   #1
Invité régulier
 
Inscription : février 2008
Messages : 29
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 29
Points : 8
Points : 8
Par défaut Création d'un champ numéroté

Bonjour
J'ai fait une requête sélection (ci-dessous) qui reprend un liste d'enregistrements, dont un champ vide qui s'appelle NumeroExamen. j'ai besoin que ce champ se numérote automatiquement au lancement de cette requête à partir de 1 en incrément de 1.En résumé c'est pour donner un numéro au stagiaire qui doivent passer un examen pour garantir la confidentialité.


Code sql :
1
2
3
4
SELECT Concours.NumeroConcours, Inscriptions.NumeroStagiaire, Inscriptions.NumeroSalle, Stagiaires.Nom, Inscriptions.Etat, Inscriptions.NumeroExamen
FROM Stagiaires INNER JOIN (Concours INNER JOIN Inscriptions ON Concours.NumeroConcours = Inscriptions.NumeroConcours) ON Stagiaires.NumeroStagiaire = Inscriptions.NumeroStagiaire
WHERE (((Inscriptions.Etat)="confirmé"))
ORDER BY Concours.NumeroConcours, Inscriptions.NumeroSalle, Stagiaires.Nom;

Merci d'avance
bremmo76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 17h11   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Bremmo76,

A ma connaissance, la fonction rank() n'existe pas sous Access.

En premier lieu, il faudrait être sûr que ta requête donne bien le résultat escompté (sans la numérotation, donc).

Ensuite, je te suggère :
  1. de créer une table (T1) contenant les champs de ta requête avec un identifiant en n° automatique ;
  2. de transformer ta requête (R1) "sélection" en requête "ajout" dans la table T1 ;
  3. de lancer R1.
==> cela, pour une première utilisation.


Enfin, pour automatiser tout cela :
  1. créer une requête "suppression" (R2) qui DELETE tous les enregistrements de T1 ;
  2. créer une requête R3, via SQL, qui contient :
    Code sql :
    ALTER TABLE [T1] ALTER [Id_NumAuto] COUNTER(1,1) ;
    qui remet à 1 le compteur ;
  3. créer une macro qui déclenche, dans l'ordre :
    • R2
    • R3
    • R1

Un peu tarabiscoté, mais bon. Cela permet de ne pas dépendre de la valeur d'un champ.

A tester, mais le principe est là.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 19h42   #3
Invité régulier
 
Inscription : février 2008
Messages : 29
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 29
Points : 8
Points : 8
Bonjour
J'avais effectivement pensé à cette solution, il me manquait le code pour remettre à zéro le champ auto. C'est peut être tordu mais çà marche et en plus c'est utilisé une fois par an
Merci
bremmo76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h09.


 
 
 
 
Partenaires

Hébergement Web