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 :

Dedoublonage d'un affichage dans une requete de selection


Sujet :

Requêtes et SQL.

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 41
    Points : 24
    Points
    24
    Par défaut Dedoublonage d'un affichage dans une requete de selection
    Bonjour,


    J’ai un petit problème de doublon dans une requête :

    J’ai deux tables sources :

    La table « Collaborateurs » avec une liste de personnes et un qualificatif, chacun pouvant avoir 1 ou plusieurs qualificatifs :

    Collab ..........Quali
    Toto.................Moto
    Toto.................Velo
    Tata.................Moto
    Tutu.................Velo


    et une table avec un montant, ou chacun n'apparait qu'une seule fois:
    Collab ..........Montant
    Toto.................12
    Tata.................13
    Tutu.................14


    J'ai besoin de faire un état de reporting ou apparait la liste des collab et des quali (donc plusieurs ligne par collab) et en face le montant. MAIS le montant ne doit apparaitre qu'une seule fois par collab, peut importe en face de quelle QUALI il se trouve:
    Collab ..........Quali...........Montant
    Toto.................Moto..........12
    Toto.................Velo...........(null)
    Tata.................Moto..........13
    Tutu.................Velo............14


    Or j'arrive à faire:
    Collab ..........Quali...........Montant
    Toto.................Moto..........12
    Toto.................Velo...........12
    Tata.................Moto..........13
    Tutu.................Velo...........14
    >>>> pas bon car doublon de montant pour Toto

    ou bien:
    Collab ..........Quali...........Montant
    Toto.................Moto..........(null)
    Toto.................Velo...........(null)
    Toto.................(null)..........12
    Tata.................Moto..........(null)
    Tata.................(null)..........13
    Tutu.................Velo...........(null)
    Tutu.................(null)..........14
    >>> pas bon car ca multiplie les lignes (et j'en ai environ 50.000)


    Donc voila... je suis bien bloqué et je n'ai pas d'idée....
    Je suis bien conscient que ce que je cherche à faire est un peu contraire à la logique base de données, mais bon…

    La solution réside peut être dans case à cocher quelque part dans le paramétrage de la requête … ou bien c’est « think different »…
    En tout cas merci aux bonnes âmes qui trouveront une piste pour résoudre ce problème epineux… !

    Merci !

    Billy

  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

    Collab ..........Quali...........Montant
    Toto.................Moto..........12
    Toto.................Velo...........(null)
    Tata.................Moto..........13
    Tutu.................Velo............14
    Toto y est deux fois aussi , c'est 12 qui n'y est qu'une seule fois.
    Comment dire à Access qu'il ne soit associer que la première valeur et pas les autres, alors que la correspondance c'est Toto -- 12.
    Donc pour chaque Toto, il mettra 12.


    Or j'arrive à faire:
    Collab ..........Quali...........Montant
    Toto.................Moto..........12
    Toto.................Velo...........12
    Tata.................Moto..........13
    Tutu.................Velo...........14
    >>>> pas bon car doublon de montant pour Toto
    Ici aussi, Toto y est deux fois, mais 12 y est deux fois aussi.

    Avec une requête, je ne vois pas comment s'en sortir.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour

    avec une sous requêtes :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Collab,(SELECT TOP 1 QUALI FROM Collaborateurs WHERE Collab=T.Collab), Montant 
    FROM tblMontant T
    Il est aussi possible d'utiliser une jointure ou bien encore :

    http://access.developpez.com/sources...QLLigneColonne

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/06/2008, 17h00
  2. Affichage d'une requete dans une cellule
    Par Kalvin_20 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/05/2008, 19h01
  3. pb d'affichage données dans une requete
    Par b_steph_2 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 05/03/2007, 14h49
  4. Réponses: 5
    Dernier message: 29/01/2007, 14h33
  5. affichage d'un 0 dans une requete
    Par fscli dans le forum Access
    Réponses: 2
    Dernier message: 31/05/2006, 11h44

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