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 :

Compter un Enregistrement en mettant le numéro occupé au niveau de la liste juste devant [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre actif

    Homme Profil pro
    Elève au Lycée ayant pour ambition Ingenieur Informaticien
    Inscrit en
    Avril 2014
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Elève au Lycée ayant pour ambition Ingenieur Informaticien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 285
    Points : 268
    Points
    268
    Billets dans le blog
    1
    Par défaut Compter un Enregistrement en mettant le numéro occupé au niveau de la liste juste devant
    Bonjour à tout les membres de ce forum.

    J'ai un soucis avec ma requête.

    En effet je souhaiterais compter chaque enregistrement par ordre croissant sur le le Nom en mettant le numéro qu'il occupe dans cette liste.

    C'est a dire si j'ai 5 enregistrements composés de Nom et de Prenom

    comme suite:
    Nom Prenom
    Sankara Adama
    Coulibaly Adama
    Kouame Kouadio Parfait
    Kouame kouadio jean
    bouba inoussa

    Je souhaite affecter devant chaque enregistrements le numero occupé en vue d'en faire une liste(du style liste de Classe)

    Comme de cette manière

    Bouba Inoussa 01
    Coulibaly Adama 02
    Kouame Kouadio Jean 03
    Kouame kouadio Parfait 04
    Sankara Adama 05

    Le but c'est de savoir a quelle place de la liste une Personne se retrouve

    Pour ce faire j'ai créer une requête a partir de la table tPersonne(qui contient les enregistrements) dénommé rPlaceOccupe
    et ensuite j'ai utiliser cette syntaxe sql
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT tPersonne.[IdPersonne], tPersonne.Nom, tPersonne.Prenom, (SELECT COUNT(*) + 1   FROM (SELECT DISTINCT [Nom] FROM [tPersonne] AS T2)   WHERE T2.[Nom] < [tPersonne].[Nom] ) AS NumeroOccupe
    FROM tPersonne
    ORDER BY tPersonne.Nom;

    Voici le resultat obtenue
    Nom : 1.PNG
Affichages : 94
Taille : 9,6 Ko

    Si vous remarquez bien il y a des NumeroOccupe qui sont "répété"
    comme c'est le cas des deux "Kouame Kouadio" au lieu de mettre 3 pour le premier
    et 4 pour le second il met 3 partout.

    J'ai utiliser la fonction Iff(Merci à toi Jimbolion) mais sans succès.
    Voici ci joint la base de Donnée en question.
    Adama13Developpez.rar
    En attente d'une aide de votre part recevez mes salutations les plus distinguées et de très bonne fête de fin d'Année à vous.
    Cordialement,

    "C'est une requête SQL qui entre dans un bar, et le serveur répond : « Il n'y a plus de tables ! ».
    Refusée au bar, la requête SQL veut aller en boîte et le videur lui dit : « Non, dehors ! C'est select ici. »

    "

    Sankara Adama
    A+

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 870
    Points : 3 449
    Points
    3 449
    Par défaut
    Bonjour adama13,

    Pour faire ce que tu veux il faut concaténer les noms et prénoms. En passant nommer un champ "Nom" n'est pas bon, c'est un mot réservé d'Access.

    Je ferais une première requête que je nommerais "R_Rang" avec le SQL suivant:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT tPersonne.IdPersonne, tPersonne.Nom_P, tPersonne.Prenom_P, [Nom_P] & [Prenom_P] AS Rang
    FROM tPersonne;
    Et une deuxième requête basé sur la première avec le SQL suivant:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT R_Rang.IdPersonne, R_Rang.Nom_P, R_Rang.Prenom_P, Format((SELECT COUNT(*) + 1   FROM (SELECT [Rang] FROM [R_Rang] AS T2)   WHERE T2.[Rang] < [R_Rang].[Rang] ),"00") AS NumeroOccupe
    FROM R_Rang
    ORDER BY R_Rang.Rang;
    J'ai renommé tes champs dans ma requête pour te donner un exemple de nommage de nom de champs. J'ai ajouté un Format pour donner le résultat que tu désirais. Tout cela est faisable directement dans le QBE d'Access.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  3. #3
    Membre actif

    Homme Profil pro
    Elève au Lycée ayant pour ambition Ingenieur Informaticien
    Inscrit en
    Avril 2014
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Elève au Lycée ayant pour ambition Ingenieur Informaticien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 285
    Points : 268
    Points
    268
    Billets dans le blog
    1
    Par défaut
    Bonjour Robert1957

    J'ai suivie votre piste et sa marche hormis que j'ai oublié de vous dire qu'il peut arriver que plusieurs personnes aient le même nom et prénom.
    Donc en suivant votre exemple j'ai concaténer trois éléments notamment Nom, Prénom, IdPersonne. Et le résultat attendu est sans problème.

    Ce forum est vraiment merveilleux, des membres comme vous il y'en a plein
    infiniment Robert de m'avoir aidé.
    Cela fait plus d'une fois que vous m'apportez votre aide Robert.
    Je vous en suis très reconnaissant Monsieur.
    Encore une fois Merci et très bonne fête de Fin d'Année à vous et à tout vos proches.
    Cordialement,

    "C'est une requête SQL qui entre dans un bar, et le serveur répond : « Il n'y a plus de tables ! ».
    Refusée au bar, la requête SQL veut aller en boîte et le videur lui dit : « Non, dehors ! C'est select ici. »

    "

    Sankara Adama
    A+

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

Discussions similaires

  1. Compter des enregistrements.
    Par gregb34 dans le forum Langage
    Réponses: 8
    Dernier message: 07/04/2006, 18h45
  2. Compter les enregistrements formulaire
    Par mat44_39 dans le forum IHM
    Réponses: 4
    Dernier message: 17/06/2005, 12h21
  3. compter des enregistrement par SQL
    Par 973thom dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 22/11/2004, 18h26
  4. Compter les enregistrements modifiés
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/10/2004, 14h12
  5. [VB.NET] Compter les enregistrements d'une requete
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/10/2004, 18h46

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