[Access] Chercher un enregistrement

ChBro Messages postés 17 Statut Membre -  
ChBro Messages postés 17 Statut Membre -
Tout d'abord merci à celui ou celle qui voudra bien s'attarder sur mon problème. J'ai une table access qui comprend des dates aléatoires. Ces dates sont classées dans un ordre croissant via une requête SQL et je désire récupérer le nième enregistrement de cette requête. Comment puis-je procéder ? Merci

2 réponses

  1. Jacques
     
    Bonjour,

    En l'adaptant cette requête satisfera votre besoin :

    SELECT FichierDesEleves.Eleves , Count(FichierDesEleves.Eleves ) AS CompteDeFichierDesEleves.Eleves
    FROM FichierDesEleves
    GROUP BY FichierDesEleves.Eleves HAVING (((Count(FichierDesEleves.Eleves ))=[Nombre ?]));

    Cordialement
    La science ne fait que trouver ce qui existe depuis toujours.
    Hubert REEVES
    0
  2. ChBro Messages postés 17 Statut Membre
     
    Merci mais malheureusement cela ne marche pas
    La valeur retournée du champ "CompteDeFichierDesEleves" =1
    Exemple: Si Jean, Pierre, Philippe, Cécile... constitue les enregistrment de ma table "FichierDesEleves" et que je désire l'enregistrement 2, je devrais avoir 'Pierre' pour réponse.
    La valeur retournée du champ "CompteDeFichierDesEleves" n'est pas incrémentée .
    Merci tout de même
    0
    1. Jacques
       
      Bonjour,

      C'est bizarre, car cette requête m'a permis, il y a quelques semaines, d'obtenir le résultat que vous souhaitez obtenir...

      Mais je constate, tout comme vous, qu' à présent, je n'obtiens rien de constructif. Et je ne trouve pas le défaut ....

      Je continue à chercher ce qui ne va pas.

      Cordialement
      0
    2. random Messages postés 1612 Statut Membre 155
       
      supposons que tu veuilles le 1000 éme enregistrement
      tu conserves ta requête actuelle avec une clause top 1000
      puis dans une deuxième requête tu reprends avec l'odre de classification inverse top 1
      0
      1. ChBro Messages postés 17 Statut Membre > random Messages postés 1612 Statut Membre
         
        Merci mais j'ai besoin d'éclaircissements. Jusque TOP 1000 pas de problème ...Mais comment à partir de la seconde requête obtenir l'inverse des enregistrements ?
        Si TOP 3 me donne dans l'ordre JEAN ALBERT BENOIT comment obtenir le sens inverse ? Soit BENOIT ALBERT JEAN
        Bien à vous
        0
    3. Jacques
       
      Bonjour,
      J'ai consulté un collègue assez pointu sur SQL. Il propose la variante suivante, avec déclaration de variables.
      Qu'en pensez-vous ?


      SELECT [eleves], sum(select count(eleves) from FichierDesEleves B where B.eleves <= A.eleves) AS Position
      FROM FichierDesEleves AS A
      WHERE sum(select count(eleves) from FichierDesEleves C where C.eleves <= A.eleves) = [rang ?];

      Merci de me tenir au courant
      La science ne fait que trouver ce qui existe depuis toujours.
      Hubert REEVES.
      0
      1. ChBro Messages postés 17 Statut Membre > Jacques
         
        Merci mais le problème n'est pas résolu. Cette requête attribue un n° d'ordre pour chacun des enregistrements classés par ordre alphabétique.
        Si dans la table le 1er record est "jean" , le 2ème "Alfred", le 3ème "Benoît" Et que je désire le 2ème record la réponse est "Alfred". Hors la requête classe au préalable les noms d'élèves dans un ordre alphabétique et affiche Alfred comme étant le 1er enregistrement, Benoit le 2ème..etc
        Bien à vous
        0