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

Modélisation Discussion :

conception BD de gestion de congés


Sujet :

Modélisation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut conception BD de gestion de congés
    bonjour,

    voilà j'essaie de faire une base de données permettant de gérer les congés de plusieurs agents. j'ai commencé à créer mes tables, requêtes, relations etc.. mais plus j'avance plus je me sens perdu.

    la difficulté majeure, c'est que les agents ont des horaires différents chaque jours, des horaires entrecoupés pour certains, et surtout pouvoir faire le lien afin qu'en inscrivant une date précise (ex: 12 mars, cela me déduise bien le nombre d'heures qui correspond à cette date qui est un vendredi).

    toute aide pour m'aider à la conception de ma BD sera la bienvenue.

    merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    As-tu la chance de ne pas avoir de travail de nuit ? c-à-d que les personnes commencent et finissent de travailler dans la même journée (ex : le 2000/01/01 de 7h à 16h et pas du 2000/01/01 23h au 2000/01/02 4h).

    Quelle est l'importance que ce soit un vendredi plutôt qu'un lundi ou un dimanche ? As-tu un temps de travail variable selon le jour de la semaine ?

    Ça serait bien que tu postes la structure de tes tables (une copie d'écran des relations est idéale) parce que ta demande est un peu vague et peut avoir pas mal de solutions.
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut
    bonjour,

    non, les horaires sont à la journée (7h le matin au plus tôt et 19h le soir).

    en fait les agents n'ont pas le même horaire tous les jours. ex : un agent va travailler de 8h00 à 15h30 le lundi mais travailler de 11h30 à 19h00 le mardi etc... cependanr c'est toujours le même planning chaque semaine.

    par contre certains ont aussi des horaires entrecoupés ex: le lundi de 7 à 10h et de 11h30 à 16h.

    voici une image de la structure de ma table sachant qu'elle est incomplète et que pour l'instant je tatonne.

    merci.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut
    voici plutôt la bonne structure

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Il ne faut faire qu'une seule table avec tous tes jours dans la même table cela va être BEAUCOUP plus facile à gérer.

    Tu peux déduire le jour de la semaine à partir de la date (fonction WeekDay())et si tu as besoin d'afficher une journée particulière tu vas pouvoir faire une requête qui affiche cette journée.

    En gros ta table devrait ressembler à cela :

    Clef (numéroAuto, pas indispensable mais bien pratique)
    DateTravail
    HeureDebut (champ date/heure)
    HeureFin (champ date/heure)
    ClefAgent

    si une personne a plusieures périodes de travail dans la même journée alors tu auras 1 enr par période. Cette option a l'avantage d'une plus grande souplesse car avec HeureDebutMatin, HeureFinMatin, HeureDebutApresMidi, HeureFinApresMidi, si tu as soudain besoin d'une troisième période de travail tu es obligé de faire pas mal de modification dans ta BD.

    Pour les 3 champs DateTravail, HeureDebut, HeureFin, en théorie tu ne devrais avoir que DateHeureDebut et DateHeureFin mais j'ai d'expérience découvert que c'était plus facile à gérer lors de la saisie d'avoir la date d'un bord et les heures de l'autre.

    A+

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut
    bonjour,

    je te remercie tout d'abord de ton aide.

    je comprend ce à quoi il faut arriver mais cependant pour mettre en pratique, ça va être plus dur donc je vais vraiment avoir besoin que tu me guides si tu en es d'accord

    j'ai donc créé la table comme tu l'as suggéré.

    dans le champ "datetravail" , je vais rechercher mes jours de la semaine et dans les champs "heuredébut" et "heurefin", j'inscris les horaires correspondants en rajoutant un enregistrement s'il y a des horaires entrecoupés le même jour (voir pièces jointes)

    est-ce que c'est bien ça ?

    merci
    Images attachées Images attachées   

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Tu n'as pas besoin absolument de la table Jour.

    Tu peux trouver le jour à partir de la date en utilisant la fonction si ta semaine commence le lundi.

    Par exemple WeekDay(DateSerial(2010; 03; 09);2) donne 2 c'est à dire Mardi.

    Une astuce : utiliser le format d'affichage pour afficher le jour de la semaine. si tu mets "jjj" comme format alors Access affiche le jour de la semaine correspondant à la date sans rien d'autre à faire.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Dans tbl_Horaire tu mets les horaires standard de tes agents ou tu mets le travail qu'ils ont fait ? Ex : le 2010-03-09, l'agent Durant a commencé à 10h00 et fini à 12h00 ? Ou tous les lundi l'agent Durant commence à 10h00 et fini 12h00 ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut
    bonjour,

    dans la table horaires, je mets les horaires standards que font les agents, puisqu'ils ont le même planning chaque semaine.

    par rapport à la table jour, je vais la supprimer, mais cela veut-il dire que dans la table horaires, j'inscris directement mes jours dans le champ "datetravail" pour chaque enregistrement ?

    ex :

    lundi 8h 11h agent x
    lundi 12 17h agent x
    lundi 9h 17h agent y

    je dois t'avouer que je ne suis pas familier avec le langage vba donc si tu veux bien me donner des précisions sur la fonction weekday et où la mettre. je te remercie.

  10. #10
    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,

    Dès qu'on utilise un type temporel "jour", "heure", il est fortement recommandé d'utiliser le type Date qui comprend tout : la date et l'heure.

    Après il y a des fonctions qui manipulent très bien le type date : ainsi WeekDay extrait le jour de la semaine ... etc
    Parcoure la FAQ du site
    http://access.developpez.com/faq/?page=dates#TypeDate

    "Always look at the bright side of life." Monty Python.

  11. #11
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Citation Envoyé par lambac Voir le message
    bonjour,

    dans la table horaires, je mets les horaires standards que font les agents, puisqu'ils ont le même planning chaque semaine.

    par rapport à la table jour, je vais la supprimer, mais cela veut-il dire que dans la table horaires, j'inscris directement mes jours dans le champ "datetravail" pour chaque enregistrement ?

    ex :

    lundi 8h 11h agent x
    lundi 12 17h agent x
    lundi 9h 17h agent y

    je dois t'avouer que je ne suis pas familier avec le langage vba donc si tu veux bien me donner des précisions sur la fonction weekday et où la mettre. je te remercie.
    Un bon truc en access c'est d'utiliser l'aide intégré. Il contient une mine d'information ... le problème c'est que parfois il faut déjà en connaitre pas mal pour les comprendre :-).

    Je t'ai mis la syntaxe de WeekDay (en français JourSem()) dans le poste de 17h44.

    Pour ton planning est-il immuabale ou varie-t-il dans le temps ? As-tu des planning standards dont tu resserts pour tous tes agents ?

    Selon ta réponse, il va falloir garder ou supprimer ta table jour.

    Au départ j'avais compris que ton application était destinée à suivre les travail 'réel' de tes agents (ex : le 2010-03-11 l'agent Dupont a commencé a 10h00 et fini à 12h00, le 2010-03-12 il a commencé à 7h00 et fini à 15h00 et ainsi de suite), est-ce bien le cas ?

    Mais tu souhaites aussi avoir des plannings associés à tes agents, est-ce bien cela ?

    Y-a-t'il d'autre éléments que tu souhaiterais gérer ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut
    en fait ça n'est pas vraiment ça, mais c'est de ma faute, j'aurais dû donner plus de précisions sur ce que je voulais faire vraiment :

    En fait, j'ai une équipe de plusieurs agents qui ont droit évidemment à des congés (congés payés, congés d'ancienneté et RTT) qui sont comptabilisées en heures (ex: chaque agent a droit à 208h80 en CP, 43h20 en RTT etc...).

    je veux pouvoir suivre pendant l'année leur consommation de congés pour chaque agent, c'est à dire que pour un agent X, s'il prend des congés du 15 au 17 mars (donc lundi, mardi, mercredi), je puisse enregistrer une date de début, une date de fin afin que cela me calcule combien d'heures cela représente pour ces 3 jours et que cela les déduise du total d'heures qu'il a au départ. une fois que j'aurais réussi (avec de l'aide) à le faire pour les CP, je pourrais le refaire pour les RTT et congés d'ancienneté.

    le top serait de pouvoir également déduire, mais ça doit être encore plus difficile, si un agent prend une heure un jour. ex : l'agent X prend de 15h à 16 h le 17 mars.

    merci de ton aide et j'espère que tu voudras bien continuer à me guider.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut
    une autre précision, chaque agent à un planning mais qui est le même chaque semaine. ainsi l'agent X travaille tous les lundis de 7H à 9h et de 14h à 19h, les mardis de 8h à 17h etc...

  14. #14
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Donc si la personne prend 2 jours de congés du lundi au mardi tu veux savoir combien d'heure cela représente en fonction de son planning de travail habituel, c'est bien cela.

    Pour une heure de temps en temps, en conservant la date + heure debut + heure fin on peut facilement le gérer.

    Une solution relativement simple pour les journées si tu admets mon 1er paragraphe serait de créer un enr par jour en fonction du planning. Donc tu indique que Dupont s'absente du 2010-03-08 ou 09 qui sont un Lundi et un mardi et le système crée un enr pour le 2010-03-08 et le 2010-03-09 en fonction du planning de Dupont. Cela répondrait-il à ton besoin ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut
    bonjour,

    oui absolument, c'est tout à fait ça.

    à bientôt

  16. #16
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Ok, alors conserve la table de jour et dans la table horaire mets le numéro correspondant au jour au lieu de la date.

    Maintenant comme vois-tu la saisie de tes abscences ?

    Personnellement voilà comment je procéderai :

    Faire un écran qui demande la date de début et la date de fin (si tu veux faire un peu plus fin ajoute aussi l'heure de début et l'heure de fin).

    Tu choisiS aussi ton agent.

    Une fois ces 2 dates données et l'agent renseigné tu appuis sur un bouton qui déclenche du code qui crée automatiquement un enregistrement par jour dans la période choisie.

    Si tu as des modifs à apporter tu peux ensuite retoucher les enregistrements journaliers.

    En procédant ainsi il est très facile de calculer le temps de congé total par personnes, mois, années, semaines, période dans la journée, etc.

    Cela conviendrait-il à ton besoin ?

    Note que si tu as beaucoup de congés et beaucoup de personnes, travailler personne par personne peut devenir pénible. Dans ce cas je ferais une table de saisie des congés et je traiterai cette table comme si je faisais une saisie un-à-un.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut
    bonjour,

    ta proposition me convient parfaitement. c'est tout à fait ce que je veux.

    je sélectionne mon agent (j'en ai une dizaine), je rentre une date de début et une date de fin (ex : 17 au 20 mars) ou la même date de début et de fin mais avec des heures (ex: du 17 au 17 mars de 10h à 12h) et ainsi je peux avoir le total des congés pris, le solde restant, le détail des congés pris dans l'année.

    concernant la table de saisie des données, ce n'est peut-être pas nécessaire vu le nombre d'agents que j'ai.

    merci encore pour ton aide et je compte encore sur toi pour continuer à mettre en oeuvre ma base.

    à +

  18. #18
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Ok, as-tu modifier ta BD selon ce dont nous avons parlé ?

    Il va te falloir aussi une table des Congés pour garder tes informations.

    Quelque chose du genre :

    Clef (Numero sequentielle)
    IdPersonne
    DateConge
    HeureDebut
    HeureFin
    TypeConge (tu as parlé de différentes sortes de congés il me semble, si oui ça prendra aussi une table pour les types de congés.)

    Prépare aussi l'écran de saisie tel que discuté.

    Après on pourra voir au code.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut
    ok merci beaucoup.

    je travaille dessus et je t'envoie une image écran de ma structure.

    à +

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 105
    Points : 38
    Points
    38
    Par défaut
    voici ce que j'ai fait (PJ). je pense qu'il y a une table qui ne sert plus mais je préfère que tu me dises

    à bientôt
    Images attachées Images attachées   

Discussions similaires

  1. Conception de tables permettant la gestion des congés
    Par tyjez dans le forum Modélisation
    Réponses: 1
    Dernier message: 19/02/2015, 18h11
  2. Conception gestion de congés
    Par soukaouta dans le forum Modélisation
    Réponses: 8
    Dernier message: 26/04/2013, 09h56
  3. Conception gestion de congé
    Par soukaouta dans le forum UML
    Réponses: 1
    Dernier message: 23/04/2013, 12h36
  4. Thème: gestion des congés
    Par rosah dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 31/08/2005, 13h10
  5. [Concept] BD ou Gestion par fichier. Intérêt de la BD ?
    Par Cian dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/11/2002, 12h16

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