[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Problèmes Access des débutants - Problèmes Access des débutants


clos par 3Stone le 28/11/2013 : 13:03  Sujet n° 689  Etat calendrier annuel avec congés de chaque salarié

le 21/08/2013 : 10:46
par Kolele

Anonyme

visiteur

Bonjour 3Stones,
Je me suis lancé dans un nouveauprojet : une base gérant les horaires des surveillants du lycée. D'abord par"cliquer-glisser" et ensuite avec du code dès que ça le fera plus,moment qui se rapproche !
J'ai une table T101_Personnel et une table T111_Horaires_Hebdo,  contenant un champ Clé_Personnel (cléprimaire de la première table et champ de liaison entre les 2). Dans la T111,il y a en outre les champs HeureArrivée, HeureDépart, Clé_Joursemaine (reliée àune table contenant les noms des 7 jours de la semaine).J'ai une table T115_Calendrier,avec les champs Id_Calendrier (clé primaire) et Date_Calendrier (01/01/2013,02/01/2013, etc).J'ai une table T120_Congés contenant aussi un champ Clé_Personnel(clé primaire de la table T101_Personnel et champ de liaison entre les 2) ; unchamp Clé_Calendrier (clé primaire de la table T115_Calendrier et champ deliaison entre les 2) ; un champ Congés, support d'un contrôle "case àcocher".

L'objectif premier du projet est de produire un état Calendrier_Annuel,par Surveillant, reprenant les 365 jours de l'année, avec les congés de chacun.J'ai atteint cet objectif, avec un état à 12 colonnes, mais au prix decontorsions excessives pour avoir tous les enregistrements de la tableCalendrier et les congés d'un surveillant seulement.La requête source del'état contient tous les enregistrements de la table Calendrier et seulementceux de la table Congés. Mais problème : sauf à saisir à la main le surveillanten critère de la requête source, je n'arrive pas à isoler les données de chaquesurveillant dans l'état, car les tables Calendrier et Personnel ne sont reliésque par la table T120_Congés, qui ne contient que les jours de congés.C'estquoi mon problème, Docteur ? Bien à toi, Pierre.
Ecrire à Kolele  sujet clos  Haut

[]   

Réponse n° 1
--------
le 22/08/2013 : 03:33
par 3Stone

3Stone

Administrateur

Bonjour,

Je n'ai pas refait l'analyse de toutes tes tables wink mais s'il te manque une information dans une table... il faut y ajouter le champ (la clé externe) concerné pour le renseigner lors de la saisie...
 
Citation :

un champ Congés, support d'un contrôle "case à cocher"

 
Il faut être avare de case à cocher... elle contiennent forcément peut d'informations... et demandent alors un traitement lors de la lecture.
La table des congés doit par exemple contenir la date des congés (ainsi que l'identifiant de la personne concernée.
Avec une date, on peut faire un simple "Not In" sans traiter des CàC.

Une bonne méthode pour remplir ce genre d'état est d'utiliser un tableau pour y mémoriser provisoirement les données concernées. A l'ouverture de l'état, on boucle sur la requête qui vas bien et on peuple au fur et à mesure le tableau. Ensuite, il reste à pousser le tout dans les colonnes.

Cordialement,
Pierre(3stone)
  clos par 3Stone le 28/11/2013 : 13:03  Haut
Réponse n° 2
--------
le 22/08/2013 : 10:12
par Kolele

Anonyme

visiteur
Bonjour 3stone,
Merci pour ton soutien et tes conseils (CàC notamment).J'ai résolu le problème de  filtrage des surveillants (pour l'état calendrier annuel)  en repiquant une méthode trouvée  les memos de ton site : commander un critère de requête par un formulaire (Like [Forms]![Nom du Formulaire].[LeParametre]). Comme quoi, c'est utile de fouiller !n
J'ai un autre souci : je sais comment convertir une valeur DateHeure en NumériqueDouble, pour faire des calculs (additionner les heures de travail des surveillants) mais je n'arrive pas à faire l'inverse, convertir 35.5 en 35:00:00. Il faut du code ?
Bien à toi, Pierre.
Ecrire à Kolele   clos par 3Stone le 28/11/2013 : 13:03  Haut
Réponse n° 3
--------
le 22/08/2013 : 11:21
par 3Stone

3Stone

Administrateur

Bonjour,
 
Citation :

Comme quoi, c'est utile de fouiller !

 
Je n'avais même pas compris que c'était simplement le "comment passer le critère" qui te posais problème s

Pour réaliser des "calculs" sur des heures, il faut effectivement transformer cela en minutes.
Pour faire l'inverse, il y a ceci wink

Cordialement,
Pierre(3stone)
  clos par 3Stone le 28/11/2013 : 13:03  Haut
Réponse n° 4
--------
le 22/08/2013 : 16:16
par Kolele

Anonyme

visiteur
Génial. Merci beaucoup !
Ecrire à Kolele   clos par 3Stone le 28/11/2013 : 13:03  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut