IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Fonctions First et Last


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Fonctions First et Last
    Bonjour,
    existe-t-il un équivalent des fonctions First ou Last pour pointer sur un autre enregistrement que le premier ou le dernier ? Par exemple sur le deuxième.

    J'aimerais changer cette expression :
    Expr1: VraiFaux(Premier([CODE])="Z";"1";"0")

    P.S. J'utilise ACCESS 97

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Tu compte le nombre d'enregistrements, tu multiplie par un nombre aléatoire, tu as un eregistrement quelconque dans ta table.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    faute d'adopter un ordre de tri ici invisible les enregistrements n'ont pas d'ordre
    il existe deux astuces cependant s'il existe une clef primaire on peut procèder ainsi[code]
    SELECT a.code, Count(b.clef) AS nb
    FROM matable AS a, matable AS b
    WHERE (((b.code)=[a].&#91;code&#93;) AND ((b.clef)<=[a].[clef]))
    GROUP BY a.code;
    &#91;/code&#93; avec une clause where sur nb fixé à 2 par exemple

    on peut aussi jouer avec une fonction initialisant et restituant unr variable static

  4. #4
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Si je comprends bien, il n'y a aucun moyen "tout simple" de pointer sur un enregistrement autre que le premier ou le dernier... Dommage.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    ce n'est pas dommage cela tient à la structure et à la logique propre de la base de données

    dans une base de données les items n'ont pas d'ordre à proprement parler
    ils appartiennent à des axes d'analyse différents cela se régle par une clef s'il y a un seul axe d'analyseon peut concevoir des clefs multiples liés aux différents axes mais rapidement on s'épuise devant la combinaison des axes

    on peut aussi et c'est par là que j'aurais du commencer enchainer deux requêtes classées en ordre inverse
    supposons que je veuille le 19 ème enregistrement il faut faire un select
    top 19 order clause de tri
    et se servir de cette requête avec un select top 1 avec order by clause de tri inversée

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    OK OK, merci pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/09/2014, 09h55
  2. [AC-2003] Probleme avec First et Last :
    Par Bonero dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 04/04/2012, 18h45
  3. [AC-2003] First ou Last en Requête SQL
    Par PSAUVAUD dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/09/2011, 10h02
  4. TDataSet.First ou Last, qui décide ?
    Par Yves Archambault dans le forum Bases de données
    Réponses: 3
    Dernier message: 12/06/2008, 08h44
  5. deque.erase( reverse_iterator first, reverse_iterator last )
    Par Suryavarman dans le forum SL & STL
    Réponses: 0
    Dernier message: 04/10/2007, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo