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 sur une multitude de table


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Par défaut Requete sur une multitude de table
    Bonjour,

    j'essaie d'aider une collègue qui souhaite réaliser une base de données, pour la GPEC (gestion prévisionnelle des emplois et des compétences). Moi je suis plutôt axé compta-finance. Alors je vous explique:
    Tous les salariés ont des compétences transversales (expression, amabilité ...) avec une note, donc plusieurs compétences avec chacune une note.
    Certains salariés ont des compétences en sécurité, idem avec une note.
    Et ceux qui sont affectés a un domaine particulier ont des compétences affectées au métiers (ex: un comptable: connaissance norme comptable ;;; ex: une assistante RH: connaissance de horoquartz ....)
    T_Competence_T : competences transversales
    T_Competence_S: competences securités
    T_Competences_SM: compétences specifiques au métier.

    Certaines compétences spécifiques au métiers se retrouvent dans plusieurs domaines: ex: Connaissance de SAP, je peux l'avoir dans le domaine de la finance, de la gestion de production etc....

    Donc les domaines se sont les services entreprises: rh, compta, adv, gdp, direction, usine ....

    Comme la table T_Competence_SM va regrouper l'ensemble des compétences de l'entreprise soit environ: 1000. La table domaine va me permettre de les filtrer par un code vba dans un formulaire. Pour eviter d'avoir la liste complete et eviter des incohérences.

    J'ai mis mon modèle physique en image jointe !

    Alors maintenant ma question. Le but final c'est de pouvoir faire une requête.
    En disant: je veux qu'il ai une note de x en expression (competence_T) une note de x en guide file (competence_S) etc...

    D'ou mon problème, je ne sais pas comment faire, dès que je fais la requête j'ai un nombre infini de lignes !

    Help,

    Merci d'avance
    Images attachées Images attachées  

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,

    J’essaierais l’algorithme suivant :

    1 Un formulaire avec m fois (1 zone de liste et 1 champ ‘note’ y associé) pour énumérer les n couples {compétence, note} exigées pour la sélection.
    ‘m’ étant, a priori, le nombre maximum raisonnable de critères à satisfaire pour une recherche particulière.
    Evidemment n<=m)

    2 Un bouton pour déclencher un processus (en VBA):
    21 Pour chaque couple (compétence,note) la recherche des candidats potentiels. Loger leur matricule dans une table(i) spécifique à chaque couple (i variant de 1 à n)
    22 Rechercher (requête) les matricules communs aux n tables (il s'agit des candidats qui satisfont tous les critères)
    23 Afficher le résultat dans un formulaire 'tabulaire' pour surfer vers d'autres outils permettant d'affiner la sélection.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Par défaut re
    Bonjour,

    Je ne comprends pas bien.
    Je crée un formulaire pour lister tous les couples ?

    Si oui, mais j'ai un problème, je vous montre (cf image).
    J'ai les enregistrements en doubles.

    Michaël
    Images attachées Images attachées  

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Ok je précise ma pensée et le point 21 devient:

    21 Pour chaque couple (compétence,note) la recherche des candidats potentiels. Loger leur matricule dans une table(i) spécifique à chaque couple (i variant de 1 à n). chaque table(i) a comme clé le matricule. Cela signifie que un candidat potentiel ne s'y retrouvera qu'une seule fois.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Par défaut re !
    Je suis vraiment désolé, mais je suis largué !
    Comment je loge tous les matricules dans une table i ??

    Michaël !

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Procédons dans l'ordre
    Mon point 1 est-il compris

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Par défaut
    Je pense, vous avez vu l'image que j'ai posté tout a l'heure avec le formulaire ?

    Si c'est bien ça ?

    Merci de m'aider !

    Michaël

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Imaginons : on recherce un candidat qui
    - connaît SAP avec une note 8
    - connaît les normes IAS avec une note 6

    sur le formulaire dont je parle au point 1, nous avons donc 2 couples

    Je prends le 1er c-a-d :
    "connaît SAP ;note 8"

    Pouvez-vous écrire une requête qui intercepte tous les membres du personnel qui ont connaissance de SAP avec au moins une note 8 ?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Par défaut
    Avec le qbe, j'ai eu ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT T_Competences_SM.Libelle_CSM, Affectation_Salarie_CSM.Niveau, T_Salarie.Nom, 
    Affectation_Salarie_CSM.Id_CSM
    FROM T_Competences_SM INNER JOIN (T_Salarie INNER JOIN
    Affectation_Salarie_CSM ON T_Salarie.Matricule =
    Affectation_Salarie_CSM.IdSalarie) ON T_Competences_SM.Id_Competence_SM
    = Affectation_Salarie_CSM.Id_CSM
    WHERE (((Affectation_Salarie_CSM.Niveau)>8) AND ((Affectation_Salarie_CSM.Id_CSM)=2));
    Voilà !

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Je n'ai pas regardé en détail.
    J'attendais OUI ou NON.
    Donc c'est OUI.

    Imaginons une table1 avec un seul champ "Matricule" (qui est la clé de table1)
    Au départ, elle est vide. Si non, on la vidange.
    On transforme la requête précédente en une requête "Ajout" dans la table1.
    Je trouve 42 candidats qui satisfont à ce couple.

    Mutatis mutandis pour le 2ème couple, cette fois avec la table2
    J'en trouve 26.

    Nous avons terminé le § 21.

    Passons au § 22.

    Une requête qui prend la table1 en relation "tous les matricules communs" avec la table2
    Elle nous donne les 7 candidats qui se retrouvent à la fois dans Table1 (ils connaissent SAP) et dans la Table2 (ils savent ce que sont les IAS-IFRS)

    § 23 Cette requête c'est la source d'un formulaire.
    je clique sur le 3ème de la liste ... et je vois sa photo ....il est chauve.. éliminé!

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Par défaut
    Ca veut dire que a chaque fois que je veux ajouter un nouveau salarié avec ses compétences, je devrai mettre à jour les tables 1 &2 ?

    Sinon j'ai compris le principe, merci du tuyo ! Mais il ne convient pas, parce que je vais avoir environ 700 compétences !

    Michaël !

  12. #12
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Ca veut dire que a chaque fois que je veux ajouter un nouveau salarié avec ses compétences, je devrai mettre à jour les tables 1 &2 ?
    pas du tout. Tout cela est automatisé.



    Je crois que nous ne parlons pas de la même chose.

    1° d'abord, les requêtes seront générées par sql : l'utilisateur ne doit pas intervenir.
    Si je vous ai demandé de l'écrire, c'était juste pour m'assurer qu'elle était réalisable (donc programmable)
    Leur programmation n'est pas simple, il faut une bonne connaissance du VBA et sans doute quelques essais pour la mise au point.
    2° quand vous parlez de 700 critères, vous voulez dire, je crois, qu'il y a 700 qualifications différentes. Peu importe 10 ou 1000, c'est la même requête.

    Mais il ne convient pas
    C'est votre dernier mot ? Relisez l'échange avant de conclure.
    Ce n'est peut-être pas LA solution. Mais c'en est sûrement une!

    Si non, j'ai passé une bonne après-midi. Désolé si vous avez perdu votre temps.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Par défaut
    Je vous remerci de vos réponses. Je vais laisser tout cela mijoter.
    Et si j'ai besoin d'autre choses, je vous recontacte.

    Merci en tout cas !
    Je ne pense pas avoir perdu mon temps, parce qu'on en apprends tout le temps.

    Michaël !

  14. #14
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut sos
    je travaille actuellement sur un projet de fin d'etude sur la GPEC , et j'ai besoin des idées sur la conception d'une base de donnée GPEC

    Merci, mon email est h.sassa@yahoo.fr

  15. #15
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 12

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/10/2013, 12h47
  2. SQL2k requete sur une liste de table
    Par mikaeru dans le forum Développement
    Réponses: 4
    Dernier message: 19/11/2007, 10h36
  3. SQL2k requete sur une liste de table
    Par mikaeru dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 19/11/2007, 10h36
  4. DOUBLE REQUETE SUR UNE MEME TABLE
    Par MORAS dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/01/2006, 14h40
  5. Requete sur une table qui pointe 2 fois sur une autre
    Par Satch dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/01/2006, 09h48

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