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

Access Discussion :

Gestion du temps sur un logiciel de gestion du planning du personnel journalier. [AC-2003]


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Gestion du temps sur un logiciel de gestion du planning du personnel journalier.
    Bonjour à tous,
    Je me prénomme Valentin,19 ans en Octobre, je vais bientôt commencer ma 2e année d'étude à l'Insa de Rennes, et je suis actuellement en stage, pour une durée d'un mois, dans l'entreprise Eiffage Travaux Publics.

    A travers ce stage, je fais mes débuts dans l'univers de certains outils de programmation, et notamment l'utilisation plus poussée des outils microsoft tels que Excel et Access.

    Je n'avais jamais utilisé Access avant ce stage, et mon utilisation d'Excel se limitait à du traitement de données, sorties de courbes... Je suis donc loin d'en connaître toutes les fonctionnalités.

    Je sollicite donc votre aide aujourd'hui, afin de réussir la mission qui m'a été confiée.

    Il s'agit d'un logiciel de gestion du planning journalier du personnel et du materiel. J'ai d'abord pensé le coder en langage java, car c'est, pour l'instant, le seul langage que j'ai pu étudier, mais mon niveau actuel ne me permet pas de réaliser un soft de ce type avec ce langage.

    Je me suis donc penché sur le logiciel access, qui m'a l'air bien plus adapté puisque je dois pouvoir gérer de nombreuses données. J'ai alors essayé d'apprendre son fonctionnement sur le tas, et je pense avoir saisi la plupart des choses à connaître.

    Pour faire court, il s'agit d'une entreprise de travaux publics, ma base de donnée contient donc, une table "Chantiers", une table "Chefs de chantiers", une table "chauffeurs", et une table "materiel".

    Il y a un chef de chantier par chantier, un chef de chantier est attribué à plusieurs chauffeurs, et un engin ("Materiel") est attribué à chaque chauffeur.

    A partir d'un planning hebdomadaire sur lequel figure les chantiers, les chefs de chantier et leurs équipes respectives, l'utilisateur du logiciel doit pouvoir attribuer le materiel à chaque équipe et pour chaque jour.

    Le materiel est rarement attribué à la même équipe chaque jour.

    Le role principal de ce logiciel est de sortir plusieurs type de planning journalier (un en fonction des chauffeurs, un autre en fonction des chefs de chantier...)

    Le soft nous propose alors de choisir une donnée (materiel, chauffeur, chef, ou chantier) et de lui attribuer les autres données connues ainsi qu'un horaire d'utilisation de chaque engin.

    Quand on pense avoir fini de rentrer les données, une sortie du(des) planning(s) est possible.

    Pour l'instant, je n'ai pas encore commencé à programmer tout ça, j'ai juste créé quelques formulaire, histoire de trouver un moyen rapide de rentrer les données.

    Je me heurte cependant quelques problèmes...

    -Je dois pouvoir garder une historique des plannings sortis afin de réaliser des études statistique sur le taux d'utilisation materiel.

    -Je ne sais pas encore dans quels types de fichiers conserver ces plannings (tables access, ou tables excel...).

    -Le planning doit pouvoir etre créé parfois plusieurs mois à l'avance (l'utilisateur réserve à l'avance le materiel à utiliser).

    J'ai donc une grosse partie temporelle que j'ai du mal à percevoir.

    Je vous envois ci-joint ma base avec les différents formulaires créés et quelques explications (écrites en italique)(la base de donnée principale est eiffage.mdb, mes formulaires se trouvent dans Attributions00.00.00)
    Allez dans Attributions00.00.00.mdb, puis dans formulaire selectionnez le "01".

    Merci à tous ceux qui m'auront lu jusqu'au bout, et à tous ceux qui pouront peut etre m'aider à résoudre mes problemes
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    Salut,

    As-tu regardé dans les tutoriels et dans les contributions toutes les ressources qu'offre ce site...
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    J'ai feuilleté la plupart des tutos Access susceptibles de m'interesser, mais à part quelques astuces utiles, je n'ai pas trouvé mon bonheur.

    Mon probleme est plutot une question de stockage.
    Un début de planning journalier peut etre créé plusieurs mois à l'avance, et afin de réaliser nos statistiques, il ne sera supprimé qu'une semaine aprés sa date.

    J'ai pensé stocker les plannings dans des tables access, mais le nombre de tables créées risque d'etre plutot élevé du coup (surtout si le planning dépend d'autres tables intermédiaires).

    Que faire ?

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Si ton problème est essentiellement un problème de gestion de plannings et si tu veux faire des stats alors il faut sauvegarder dans une table l'idMateriel, le jour et l'IdConducteur...

    Cette table va servir de base pour générer ton planning hebdomadaire.
    (Tu peux faire des jointure entre cette table et les autres...)

    A part les tutos, dans les contributions il y a des exemples de plannings hebdomadaires pour Access 2003...

    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    Salut,

    J'ai regardé ta base.

    Pratiquement aucune relation entre tes tables n'est établie alors que tu parles implicitement de liens entre tes données.

    Donc avant de démarrer quoi que ce soit met déjà en place un modèle de données clair avec des liens entre tes tables.

    Voici de la lecture:
    Les bases
    Les jointures

    Je te conseille aussi de reposter ton message dans le forum modélisation ou tu trouveras des personnes compétentes qui te guideront dans la modélisation de tes données.

    Après seulement, une fois que tu auras aussi ajouté ta table planning, tu pourras réaliser tes plannings...

    Remarque: On ne sauvegarde pas des plannings mais les données qui servent à mettre à jour le planning pour une période donnée.

    Exemple de tables contenant des données pour mettre à jour le planning :

    T_Planning1(IdConducteur,IdMateriel, Jour..)

    ce qui veut dire pour simplifier sur le planning :

    En en-tête de lignes les IdConducteur entre autre.
    En en-tête de colonnes les jours.
    et à l'intersection des lignes et des colonnes Les IdMateriel.

    Autre table possible:
    T_Planning2(IdConducteur,IdMateriel, Debut, Fin...)

    Bonne continuation
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Merci pour tes conseils, je me suis un peu mieux penché sur mes relations et je pense que ça devrait aller.

    Pour l'interface, j'ai utilisé l'un des plannings hebdomadaires présents dans les contributions, et le résultat me convient parfaitement.

    Il y a cependant quelque chose que je souhaiterai faire afin de faire gagner du temps à l'utilisateur.

    Dans mon formulaire de saisie de donnée, je souhaiterai intégrer une liste déroulante recensant l'ensemble des Id d'une table auquels on enleve ceux qui ont déjà été attribué pour le jour en question. (Afin de ne pas avoir de materiel se trouvant à 2 endroits differents le même jour)

    Cela est il possible ?

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    Salut,

    Il te faut créer une requête (R_Materiel) que tu attribues à la propriété Contenu (RowSource) de ta liste déroulante.

    Si ton formulaire se nomme F_Saisie, ta liste déroulante IdMateriel et tes tables T_Materiel et T_Planning, alors la requête R_Materiel aura pour sql:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PARAMETERS [Forms]![F_Saisie]![Jour] DateTime;
    SELECT T_Materiel.IdMateriel
    FROM T_Materiel
    WHERE T_Materiel.IdMateriel Not In (select IdMateriel From T_Planning where Jour= [Forms]![F_Saisie]![Jour];);

    c'est un sql possible il y en a d'autre...

    et sur l'évènement entrée de ta liste déroulante tu rafraîchis la liste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub IdMateriel_Enter()
     
    Me.IdMateriel.Requery
     
    End Sub

    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Merci, ce morceau de code a fonctionné, il a juste fallu que j'y ajoute un critère dans le cas où L'iD est vide.

    Je me heurte cependant à un nouveau problème.
    Je dois réaliser un état à partir d'une requete qui me sort l'ensemble des enregistrements spécifiques à une journée.

    Pour chaque enregistrement, seul le champ "Chantier" n'est jamais vide.
    Il est alors possible de créer un enregistrement qu'à partir d'une date et un chantier, les autres champs peuvent rester vides.

    L'état que je dois réaliser doit sortir le planning journalier, la premiere colonne étant le nom du chauffeur, la 2e, le code materiel ...

    Enfin bref, je souhaiterai pouvoir, à partir de ma requete (enregistrement.png)
    en ressortir une autre sous la même forme, mais avec le Nom du Chauffeur à la place du NCHAUFF, le code materiel à la place du NMAT etc...

    J'ai donc mis en place cette requête(requete.png), mais cette derniere ne me renvoie que 3 lignes : Ceux que j'ai marqué par 3 points rouges.
    Etant donné qu'un champ vide ne peux pas être égal à un champ plein, je comprend tout à fait pourquoi seule ces 3 lignes sont retournées.

    Les autres types de jointure ne me semblent pas adapté pour autant, je me demande donc comment il serait possible de conserver mes champs null .
    Edit : Bon j'ai réessayé, et cette fois le 3e type de jointure a bien voulu fonctionné. Ce probleme est donc résolu.
    Images attachées Images attachées   

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    Salut,

    Tu sélectionne tes liens en mode création de ta requête, puis tu fais un clic droit et tu choisis propriété de la jointure, puis tu coches:
    inclure tous les enregistrements de la table enregistrements et seulement ceux de la table chantiers pour lesquels les champs joints sont égaux..

    et tu fais la même chose pour les autres liens

    Ca doit correspondre en sql à un:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    FROM (enregistrements LEFT JOIN chantiers ON enregistrements.Chantier = Chantiers.[Num chantier]) ...
    ...


    Pour une autre question, il te faut créer une nouvelle discussion dans laquelle tu feras un lien vers celle-ci et clore cette discussion. Une discussion = un problème
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

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

Discussions similaires

  1. [Python 3.X] Gestion du temps sur un programme
    Par dragomoon dans le forum GUI
    Réponses: 3
    Dernier message: 30/03/2015, 10h27
  2. Horsys logiciel de gestion de temps
    Par quomeiha dans le forum Autres ERP
    Réponses: 0
    Dernier message: 29/03/2012, 17h22
  3. Réponses: 2
    Dernier message: 23/05/2011, 17h49

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