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 :

[Access 2003]Création d'un planning automatique


Sujet :

Modélisation

  1. #1
    Nouveau Candidat au Club
    [Access 2003]Création d'un planning automatique
    Bonjour à tous,

    J'ai crée une petite application access pour la gestion d'un certain type de formations en individualisation.

    Je bute sur la création d'un planning automatique.

    Je vous explique :
    • Il y a 4 plages de formations (Mardi de 13h à 17h, Mercredi de 13h à 17h, Vendredi de 8h à 12h et vendredi de 13h à 16h)
      Le stagiaire peut choisir de venir à une, deux, trois ou toutes les plages disponibles, sachant qu'il n'est pas obligé d'assister à la totalité des heures de la plage. Par contre, une fois qu'il a choisi son planning, il ne change pas.
    • Il a un certain crédit d'heure (ex : 30 heures)
    • Il a une date de début de formation

    J'aimerai donc qu'en donnant les plages, la date de début et le nombre d'heure, access me renvoie le planning de la personne avec les dates complètes.

    Un petit exemple pour mieux comprendre :
    • Un stagaire qui commence sa formation de 30 heures le mardi 19 juin et qui décide de venir tous les mardis de 13h à 16h et les mercredis de 13h à 17h aura le planning suivant :
      mardi 19 juin 2007 de 13h à 16h
      mercredi 20 juin 2007 de 13h à 17h
      mardi 26 juin 2007 de 13h à 16h
      mercredi 27 juin 2007 de 13h à 17h
      mardi 3 juillet 2007 de 13h à 16h
      mercredi 4 juillet 2007 de 13h à 17h
      mardi 10 juillet 2007 de 13h à 16h
      mercredi 11 juillet 2007 de 13h à 17h
    • s'il décide de venir les mardis de 13h à 16h, mercredis de 13h à 17h et vendredi matin de 8h à 12h, son planning sera :
      mardi 19 juin 2007 de 13h à 16h
      mercredi 20 juin 2007 de 13h à 17h
      vendredi 22 juin 2007 de 08h à 12h
      mardi 26 juin 2007 de 13h à 16h
      mercredi 27 juin 2007 de 13h à 17h
      vendredi 29 juin 2007 de 08h à 12h
      mardi 3 juillet 2007 de 13h à 16h
      mercredi 4 juillet 2007 de 13h à 16h (il fini à 16h et non pas à 17h car il est arrivé au terme de son crédit d'heure)


    Voilà; dernier point : il peut arriver qu'il interrompe sa formation et qu'il la reprenne plus tard et évidemment il faudrait que le planning auto en tienne compte.

    EST-CE POSSIBLE avec ACCESS??
    Avez-vous un début de piste? ou une info quelconque?

    Je n'ai rien vu de ressemblant dans les tutos ou les faqs et je ne sais pas trop comment m'y prendre. J'ai bidouillé un truc avec excel mais un peu lourd et qui gère pas tout.

    Merci d'avance à ce qui pourront et qui voudront bien m'aider
    @+

  2. #2
    Membre du Club
    Bonjour,

    Pour ma part, je pense qu'il est délicat de donner des conseils sur une structure et un sujet auquel on a pas deja longuement réfléchis et déja travaillé.

    Je suppose qu on pourrait s'en sortir avec 1 table tblParticipants,1 table tblPlages et 1 table tblParticipe pour faire le lien entre les 2 premieres.

    1 formulaire de saisie des participants avec un lien sur formulaire lié a la table tblParticipe pour choisir les plages. Une fois le retour sur le formulaire des participants, calcul du calendrier en tenant compte de la date de départ et du cumul des heures (la table tblPlage contenant la durée de chaque session).

    Pour ce qui est des interruptions de formation, j'avoue ne pas trop savoir comment les gérer pour l'instant.

  3. #3
    Nouveau Candidat au Club
    Merci de ta réponse mig21,
    je reste bloqué sur le calcul du planning justement; comment dans une table access insérer le bon nombre de lignes avec des champs date calculés par rapport à la date d'entrée du stagiaire... mystère pour l'instant...
    En tout cas je continue mes recherches et je vous dis si je trouve
    Merci encore
    @+

  4. #4
    Membre du Club
    Peut etre une facon de faire qui te conviennes :
    s il y a qu'une plage par jour de la semaine => clef de la table des plage = jour de la semaine (JourPlage)

    une fois selectionné les plages d'un participant (dans une lstPlagesSelectionnées par exemple)

    TotalHeure = 0
    DateATester = Date de départ

    Boucle : Tant que TotalHeure < 30
    DateATester => calcul du jour de la semaine (JourATester)
    test si JourATester appartiens à lstPlagesSelectionnées
    Si Oui :
    (
    TotalHeure = TotalHeure + Duree de la plage concerné de lstPlagesSelectionnes
    UPDATE de la table planning avec le participant, la date de la session (DateATester) et l'identifiant de la table plage
    )
    DateATester = DateATester +1
    Retour boucle

    j'espere aque c est compréhensible.

  5. #5
    Membre expert
    Je te recommande les exemples d'agenda de la contribution de User.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    http://www.developpez.net/forums/showthread.php?t=156377


    Tu devrais y trouver de l'inspiration.

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