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 :

Requête planning: Afficher verticalement les dates du mois sélectionné dans la liste déroulante [AC-2016]


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 245
    Points : 97
    Points
    97
    Par défaut Requête planning: Afficher verticalement les dates du mois sélectionné dans la liste déroulante
    Bonjour le forum!
    J'essaie de faire un planning pour gérer les absences des élèves. J'essaie d'adapter l'application de Monsieur Denis HULO "gestion-planning V1.1 accd" à mes besoins.
    Mais je rencontre des difficultés. Ci-dessous la démarche
    1/ J'ai créé un formulaire "F_Planning" avec ces contrôles:
    Une liste déroulante "cboAnnee"
    Une liste déroulante "cboMois" (se synchronise avec cboAnnee) (comment s'y prendre?)
    Une liste déroulante "cboClasse"
    Une liste déroulante "cboEleve" (se synchronise avec cboClasse) (comment s'y prendre?)
    2/Un sous formulaire "SF_Planning" qui affiche verticalement les dates du mois sélectionné dans "cboMois" et horizontalement les horaires. (Comment s'y prendre?)
    3/Un formulaire de saisie des absences "F_SaisiePlanning" qui s'affichera sur double-click sur SF_planning pour montrer les détails ou enregistrer une nouvelle absence.

    Merci

    djibysadji

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Citation Envoyé par djibysadji Voir le message
    Une liste déroulante "cboAnnee"
    Une liste déroulante "cboMois" (se synchronise avec cboAnnee) (comment s'y prendre?)
    Une liste déroulante "cboClasse"
    Une liste déroulante "cboEleve" (se synchronise avec cboClasse) [B](comment s'y prendre?)
    Une grand classique :
    Comment faire en sorte que le contenu d'une zone de liste déroulante dépende de la valeur d'une autre liste ?
    https://access.developpez.com/faq/?page=zdl#DepZdl

    Attention si tu es dans un formulaire en mode continu ou feuille de données alors tes listes dépendantes vont se "vider" pour les enregistrememts qui ne correspondent pas à la sélection dans la 1ère liste.
    La seule solution que j'ai trouvé est d'avoir 2 champs, un pour la sélection dépendant de la 1ère liste et un pour l'affichage qui lui est indépendant.

    2/Un sous formulaire "SF_Planning" qui affiche verticalement les dates du mois sélectionné dans "cboMois" et horizontalement les horaires. (Comment s'y prendre?)
    .
    Access n'est pas très bon pour les affichages en colonnees, idéalement un affichage avec les horaires les un en dessous des autres serait plus simple.
    Si tu y tiens absolument alors il te faut soit faire une requête d'analyse croisée dynamique (utiliser l'assistant, à la main c'est l'enfer).
    Après il faudra que tu "fixes" les colonnes de cette requête ce qui permettra de s'en servir comme source d'un formulaire.
    Le "fixage" dépend de la variabilité dans les colonnes. Donc dis-en un peu plus sur le nombre de colonnes prévues.

    Soit faire toi-même ta requête qui affiche tes données "en colonne" avec autant de champ que de colonnes.

    /Un formulaire de saisie des absences "F_SaisiePlanning" qui s'affichera sur double-click sur SF_planning pour montrer les détails ou enregistrer une nouvelle absence.
    Là il faut que tu crées le formulaire de saisie puis que dans la procédure événementielle associée à l'événement double-clique du champ concerné tu mettes quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call docmd.openform("F_SaisiePlanning", , , , "[Clef]=" & me.NomChampDoubleClique)
    Ce code suppose que NomChampDoubleClique contient l'info nécessaire pour trouver les bonnes données. Il est très possible que dans ton appli ce soit pas mal plus compliqué.

    A+

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 394
    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 394
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    C'est trop compliqué d'adapter le planning pour afficher les dates verticalement.

    Il faudrait garder les dates en en-têtes de colonnes et mettre les horaires horizontalement, avec éventuellement les élève.

    La table planning doit enregistrer l'identifiant de l'élève, de la classe, en plus de l'horaire et de la date.

    Le formulaire de saisie doit aussi contenir des liste déroulantes pour le choix de la classe et de l'élève, mais ces listes devront être mis à jour à partir des choix effectués sur les liste cboClasse et cboEleve situés sur le planning.

    Il faut voir le code de la fonction OuvrirFormSaisie.

    Edit : mise à jour pièce jointe

    Cdlt,
    Fichiers attachés Fichiers attachés

  4. #4
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 245
    Points : 97
    Points
    97
    Par défaut Re
    Bonsoir User!
    Merci pour le planning. Il me convient. Mais il le serait davantage si je pouvez avoir une colonne qui affiche le nombre d'heures d'absence dans le mois sélectionné. Ensuite je préfère que s'affichent dans le formulaire "F_Planning" les types d'absence: Retard(RE), Absence justifiée(AJ) et Absence non justifiée(ANJ). Et pour les motifs et autres détails, le formulaire "SaisiePlanning" se chargera de les afficher.

    Merci encore une fois

    djibysadji

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 394
    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 394
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    J'ai ajouté la colonne pour le total des heures, en bas à droite du planning vous avez le total général, pour l'élève sélectionné.

    La formule utilisée dans la requête regroupement R_TotalHeures est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TotalHeures: Compte([IdMotifAbsence])*DiffDate("h";Gauche([PeriodeJour];5);Droite([PeriodeJour];5))
    Compte([IdMotifAbsence]) c'est pour compter le nombre d'absences dans le mois

    et DiffDate("h";Gauche([PeriodeJour];5);Droite([PeriodeJour];5)) c'est pour compter le nombre d'heures sur une période.

    J'extrais la partie gauche (ex. "08:00") et la partie droite ("10:00"). et je calcul le nombre d'heures entre avec DiffDate("h",...,...).

    J'ai mis à jour la pièce jointe dans mon dernier message.

    Cdlt

  6. #6
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 245
    Points : 97
    Points
    97
    Par défaut Re
    Bonjour User!
    Je souhaiterais des améliorations du planning si possible.
    D'abord au niveau des listes déroulantes Mois, classe et Eleve:
    N'est-il pas possible de faire en sorte que la zone de texte de la liste déroulante Eleve n'affiche pas de nom si dans le mois sélectionné il n'y aucune absence. On n'aimerais avoir la même chose au changement de la classe car là aussi le nom de l'élève de la classe précédente s'affiche toujours même après qu'on a sélectionné une autre classe.
    Ensuite, s'il est possible que la colonne qui représente la date jour soit mise en couleur à l'affichage du planning, ce sera encore mieux.

    Merci pour le soutien

    djibysadji

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 394
    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 394
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    J'ai ajouté une colonne dans la liste de choix des élèves, pour indiquer s'ils ont été absents dan le mois sélectionné ou pas.

    La colonne correspondant à aujourd'hui est colorié en jaune.

    J'ai mis à jour la pièce jointe ici.

    Cdlt,

  8. #8
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 245
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par User Voir le message
    Bonjour,

    J'ai ajouté une colonne dans la liste de choix des élèves, pour indiquer s'ils ont été absents dan le mois sélectionné ou pas.

    La colonne correspondant à aujourd'hui est colorié en jaune.

    J'ai mis à jour la pièce jointe ici.

    Cdlt,
    Salut User!

    Merci encore une fois.

    djibysadji

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/03/2019, 10h22
  2. Afficher les tables de la db dans une liste déroulante
    Par voxov dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/12/2010, 11h13
  3. Réponses: 1
    Dernier message: 10/09/2009, 19h20
  4. [MySQL] Afficher toutes les données d'un champ dans une liste déroulante
    Par Touareg dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 19/03/2007, 12h42
  5. Réponses: 2
    Dernier message: 27/12/2005, 20h09

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