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 :

Requete Access un peu complexe


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut Requete Access un peu complexe
    Bonjour je n'arrive pas à obtenir le résultat que je souhaite.
    J'ai une table groupe d'activité, une table activité, une table Répartion, une table Horaires et une table collaborateurs.

    La table Horaire contient les heures de travail des collaborateurs (par jour) et la table répartition fait le lien avec les différentes activité.

    J'ai besoin de retrouver les heures de travail d'une personne pour les différentes activité d'un groupe d'activité. Jusque là c'est simple.
    Mais j'ai besoin de voir toutes les activités du groupe même si le collaborateur n'y a pas travaillé.

    Si quelqu'un peut m'aider, je coince.

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 414
    Points : 16 256
    Points
    16 256
    Par défaut
    Bonjour

    Dans ta requête il faut orienter la relation : double clic sur le fil et choisir la table dont tous les enregistrements doivent être affichés même si l'autre table n'as pas d'enregistrements correspondants.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    Merci Chris,

    En fait j'avais bien entendu déjà utilisé les jointures LEFT JOIN sans succès parce que j'essayais de trouver les heures d'une personne, j'avais une clause Where IdCollab = du coup les activité non travaillées ne pouvaient pas apparaître et en voulant t'expliquer ça j'ai trouvé la solution en ajoutant les cas ou l'activité n'est pas travaillée
    IdCollab =7 OR IdCollab Is Null

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    Oups j'ai pas encore trouvé en fait.
    Puisque avec mon is null en plus je ne vois que les activités pour lesquelles personne n'a travaillé.
    Mais les activités que le collab 1 n'a pas faites et que collab 2 a faites n'apparaissent pas dans la recherche pour collab 1.

  5. #5
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour,

    il faut alors compléter les valeurs trouvées du PIVOT de ta requête croisée dynamique en indiquant l'ensemble des valeurs à prendre en compte

    soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...   & " PIVOT Activite IN ('ACTIVITE1','ACTIVITE2','ACTIVITE3' , ... etc)"
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...   & " PIVOT Activite IN SELECT [ACTIVITE] FROM TBL_ACTIVITE "
    Cdlt
    "Always look at the bright side of life." Monty Python.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    Merci Micniv,

    Je ne connais pas bien la fonction PIVOT, j'avais en tête quelle servait juste pour la présentation des données mais j'ai peut être mal compris.

    En fait j'ai résolu mon problème en imbriquant deux requêtes. La première me donne les repartition/horaire/collab pour 1 seul collab.
    La seconde en left join me donne toutes les activité et les horaires quand il y en a.

    Merci messieurs, le fait de vous exposer mes difficultés m'a aidé à les résoudre

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

Discussions similaires

  1. Requete MySql un peu complexe !
    Par walou dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 03/09/2007, 20h42
  2. Requete access - Trop peu de paramètres
    Par jmulans dans le forum ASP
    Réponses: 2
    Dernier message: 29/03/2007, 11h55
  3. [Access 2000] LEFT JOIN un peu complexe
    Par Miss Ti dans le forum Langage SQL
    Réponses: 20
    Dernier message: 02/08/2006, 16h04
  4. [SQL] requetes inbriquées un peu plus complexe.
    Par Devil666 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/05/2005, 11h06
  5. Requete un peu complexe avec la fonction IN
    Par Taichin dans le forum Oracle
    Réponses: 27
    Dernier message: 10/11/2004, 08h59

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