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 :

ne pas afficher les doublons


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 15
    Points
    15
    Par défaut ne pas afficher les doublons
    Bonjour,

    J'ai une requête qui est la fusion de 3 tables (instructeur, parc et membre). Donc sur le champ numero_instructeur qui relie les 3 tables, j'ai des doublons. Je voudrais ne pas afficher les doublons quand j'appelle cette requête dans un formulaire. J'ai essayé avec un select distinct numero_instructeur, mais ça affiche que le numero_instructeur. Il y a 30 autres champs dans cette requête et je dois les afficher. Cependant, c'est seulement le champ
    numero_instructeur que je ne doit pas voir les doublons.

    Veuillez noter que les champs non identiques ne sont pas affichés dans le formulaire. Ils servent à faire la sélection dans la requête, mais
    ils ne sont pas visibles dans le formulaire.

    Pouvez-vous m'aider.

    Merci à l'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    bonjour

    tu parles des doublons dans une zone de liste déroulante ?

    Dans ta requête tu dois mettre le champ num instructeur de la table instructeur qui en principe ne doit pas avoir de doublon, puisque c'est l'identifiant - (Les doublons ne doivent se situer que dans les autres tables ns puisque l'instructeur peut intervenir plusieurs fois dans la table membre et la table parc)

    isabelle

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Non je parle d'une requête. Pour expliquer rapidement, un instructeur a des régions et dans chaque région, il y a plus d'un parc. Plusieurs instructeurs peuvent se partager une région. Dans ma requête j'interroge la fusion des 3 tables pour avoir la liste des instructeurs qui opèrent la région Montréal. Donc si en tout j'ai 5 parcs dans Montréal, je me retrouve avec 5 lignes pour un total de seulement 3 instructeurs. Je voudrais voir que 3 lignes, une pour chaque instructeur et non les 5.

    Je sais que dans un état, je peux faire un regroupement. Je voudrais obtenir la même chose mais dans une requête ou un formulaire.

    Est-ce possible?

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    Le regroupement se situe sur l'ensemble des champs de ta requête, utilise un DISTINCT dans ta requête !

    Bonne journée !

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut zangel, isabelle b et Chtulus

    zangel> es tu obligé de joindre la table contenant les parcs?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Oui je le dois pour pouvoir exécuter une requête qui sélectionne les instructeurs d'une région.

    Région et Parc sont dans la même table.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    bonjour

    peux tu nous montrer ta fenêtre des relations ?

    isabelle

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    je croyais avoir résolu mon problème, mais non. Si j'ajoute le distinct, je ne peux pas rechercher tous les éléments que je voudrais. Je m'explique: j'ai une requête qui est la fusion de 3 tables (instructeur, parc et membre).

    Les relations sont comme suit:
    Parc et relié à instructeur via le numéro d'instructeur.
    Membre est relié à instructeur via le numéro d'instructeur.
    Donc on peut dire que parc est relié à membre en passant par le numéro d'instructeur.

    Dans ma recherche, par exemple, je voudrais afficher tous les instructeurs qui travaillent au parc ABC avec le distinct, ça fonctionne. Les instructeurs sont là une seule fois. Mais si je fais ma recherche par le prénom ou tous autres champs se trouvant dans la table instructeur et bien là, j'ai des enregistrements en double.

    Il est à noter que dans ma recherche, je veux pouvoir chercher dans des champs de la table instructeur, membres et parc. Exemple: les instructeurs actifs du parc ABC qui sont membres de CBA.

    Est-ce qu'il y a une façon de ne pas faire apparaitre les doublons. Dans ma zone d'affichage, ce sont seulement les champs de instructeurs que je veux vois et que je veux voir.

    Votre aide sera grandement appréciée.

    Merci à l'avance.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    Bonjour

    c'est tout à fait normal que tu vois apparaitre l'instructeur plusieurs fois car il t'affiche tous les enregistrements où il figure

    si dans ton affichage tu demandes l'instructeur et les parcs dans lequels il travaille il va t'afficher

    durant pierre Montreal
    durant pierre Paris
    dupont x Lyon

    à partir du moment où tu lui demande le parc il faut bien qu'il t'affiche tout l'enregistrement

    par contre si dans un champs tu appelles Montreal et dans un autre les instructeurs, là tu ne verras les instructeurs qu'une seule fois

    de même si dans un champ tu appelles l'instructeur et dans un autre les parcs, tu verras une seule fois l'instructeur et dans l'autre champs tous les parcs

    Tout comme tu parles du regroupement dans un état, ici tu aurais un formulaire et un sous formulaire


    isabelle

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    J'ai essayé de faire un formulaire et un sous-formulaire. Ça ne fonctionne pas comme je veux, j'ai toujours les doublons.

    Dans mon formulaire, j'ai des cases à cocher et ensuite, je lance la requête.
    Mon code SQL pour la sélection est plus bas. Dans MonCritère, j'ai des choses du genre instructeurs.actif=true, etc. Fusion_TOUT est la requête où je regroupe les champs des 3 tables. Mon formulaire de recherche met permet de chercher dans les 3 tables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         MonSQL = "SELECT * FROM Fusion_TOUT WHERE "
    MonJeuEnreg = MonSQL & MonCritère 
    Me![Sous_form_recherche_globale].Form.RecordSource = MonJeuEnreg
    Qu'est-ce qui cloche? Votre aide sera grandement appréciée.

    PS: j'ai essayé de remplacer SELECT * par tous les noms de champs, mais ça donne le même résultat.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    J'ai laissé tomber le sous-formulaire et je vais afficher un état à la place et ainsi le regroupement va fonctionner.

    Merci pour votre aide.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Points : 1 598
    Points
    1 598
    Par défaut
    hello
    as tu essayé les fonctions de regroupement des requêtes? les mêmes fonctions qui permettent de faire des sommes et des moyennes peuvent aussi rendre bien des services avec premier, dernier, où et expression

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

Discussions similaires

  1. Ne pas afficher les doublons
    Par steph1014 dans le forum Outils
    Réponses: 6
    Dernier message: 21/04/2010, 16h43
  2. Ne pas afficher les doublons dans mon rapport
    Par shallum dans le forum Jasper
    Réponses: 6
    Dernier message: 06/01/2010, 17h10
  3. Réponses: 2
    Dernier message: 21/04/2009, 21h10
  4. Réponses: 6
    Dernier message: 25/04/2008, 12h44
  5. ne pas afficher les doublons
    Par axamen dans le forum SQL
    Réponses: 17
    Dernier message: 23/05/2007, 13h45

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