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

Requêtes et SQL. Discussion :

Numérotation automatique des résultats d'une requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Points : 24
    Points
    24
    Par défaut Numérotation automatique des résultats d'une requête
    Bonjour,
    cela a l'air simple comme cela, mais pourtant je n'arrive pas à trouver une manière de faire: je voudrais tout simplement faire une numérotation automatique sur mes résultats d'une requête sélection.
    Que le premier résultat ait 1, le deuxième 2... Rien n'y fait je ne trouve pas

    Merci d'avance

  2. #2
    Membre régulier Avatar de anto
    Inscrit en
    Juin 2003
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 86
    Points : 84
    Points
    84

  3. #3
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Je connais un moyen, mais pas très simple Tu le veux quand même?

    pgz

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    Tout d'abord merci Anto, mais je patauge un peu avec les infos donnés sur le lien surtout que la fonction number n'a pas l'air de marcher.
    Je suis preneur de toutes les solutions pgz

  5. #5
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Re,

    Je suis preneur de toutes les solutions pgz
    Alors en voci une, mais cela tient plus de l'astuce que du travail propre...

    Le principe : tu as une requête initiale qui fonctionne mais dont tu veux numéroter les lignes. On ne va pas touvher à la requête initiale(MaRequête), mais en créer une seconde.

    D'abord créer deux fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim iCompt as Long
    Public Function fctPlus(NomChamp As Variant, iCombien As Long) As Long
    iCompt = iCompt + iCombien
    fctPlus = iCompt
    End Function
     
    Public Function fctZéro(iCombien As Long) As Boolean
    iCompt = iCombien
    fctZéro = True
    End Function
    La première fonction va régler le pas du comptage. La deuxième va permettre de choisir la première valeur. Donc pour compter d'un en un à partir de un, ces 2 paramètres seront respectivement 1 et 0.

    Ensuite tu crées la nouvelle requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT MaRequête.*, fctplus([NomDUnChampDeMaRequête],1) AS num
    FROM MaRequête
    WHERE (fctzéro(0));
    Bon courage,

    pgz

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    Merci je suis sur le bon chemin, néanmoins il me reste un pb assez étrange...

    Quand je lance ma requête j'ai bien ma numérotation, tout semble parfait mais l'incrémentation continue... C'est la première fois que je vois ça, c'est à dire que chaque fois que je rafraichis ma requête (tout simplement en faisant bouger la barre de défilement) j'ai les numéros qui continuent de s'incrémenter.
    Qu'ai je mal fait? Les fonctions ont l'air de marcher, je ne comprends pas.

  7. #7
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    chaque fois que je rafraichis ma requête (tout simplement en faisant bouger la barre de défilement) j'ai les numéros qui continuent de s'incrémenter
    C'est la limite de l'exercice.

    Le rafraîchissement provoque un appel de fctPlus...

    Si ton besoin final est de visualiser, tu devrais passer par un formulaire.

    pgz

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    Bonjour,

    2 petites questions :

    A) y'a t'il un <order by> dans la requête ou peut-il y en avoir un ?
    B) chaque enregistrement est-il unique sur le champ ou les champs qui servent de tri ?

    Philippe

  9. #9
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Re,

    Pour régler le pb, une petite amélioration.
    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Dim iCompt As Long, Tablo() As Variant, DimTablo As Long
     
    Public Function fctPlus(NomChamp As Variant, iCombien As Long) As Long
     
    If DimTablo > 0 Then
        For i = 1 To DimTablo
            If Tablo(2, i) = NomChamp Then fctPlus = Tablo(1, i): Exit Function
        Next i
    End If
     
    DimTablo = DimTablo + 1
    ReDim Preserve Tablo(2, DimTablo)
    Tablo(2, DimTablo) = NomChamp
     
    iCompt = iCompt + 1
    Tablo(1, DimTablo) = iCompt
    fctPlus = iCompt
     
    End Function
     
     
    Public Sub subZéro(iCombien As Long)
    iCompt = iCombien
    DimTablo = 0
    End Sub
    La requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT MaRequête.*, fctplus([NomDUnChampSansDoublonDeMaRequête],1) AS num
    FROM MaRequête
    Nécessite : un champ sans doublon et de faire
    Call subZéro(0)
    avant d'ouvrir la requête

    pgz

Discussions similaires

  1. Réutilisation des résultats d'une requête en DISTINCT
    Par r@phy dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/09/2006, 17h17
  2. Réponses: 2
    Dernier message: 02/12/2005, 21h21
  3. Réponses: 1
    Dernier message: 02/12/2005, 20h18
  4. Pagination des résultats d'une requête
    Par dl_jarod dans le forum ASP
    Réponses: 2
    Dernier message: 17/10/2005, 14h30
  5. Calcul à partir des résultats d'une requète
    Par Sendo dans le forum Access
    Réponses: 1
    Dernier message: 29/09/2005, 17h46

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