|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 93 ![]() |
Bonjour à tous,
Dans le cadre d'une application permettant de gérer les recrutements d'une société, je dois créer plusieurs états dont l'un me donne du fil à retordre. Je vous explique. L'état doit montrer pour chaque jour de la semaine et pour chaque heure de la journée, le nom du candidat qui passe un entretien avec tel ou tel recruteur. Même les heures pour lesquelles il n'y a pas de rdv doivent être affichée afin que la personne responsable des recrutements puisse organiser le planning des recruteurs. Voici le rapport dont j'aurais besoin. J'ai essayé avec des crosstabl queries etc mais je ne parviens pas à obtenir ce que je veux. Au niveau du modèle de données, je suis libre de rajouter toutes les tables que je veux. Pourriez-vous me donner quelque conseils ou astuces me permettant d'arriver au résultat ? ![]() Merci |
|
|
00
|
|
|
#2 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 93 ![]() |
Salut,
C'est moi qui ai posté dans l'autre section également car mon problème concerne aussi bien les états que le modèle de données. Merci pour ton exemple. Je regarde tout cela et te dis quoi. |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 93 ![]() |
Salut,
Tout d'abord merci pour ton aide, tes exemples m'ont vraiment aidé. Tout semble fonctionner. J'aimerais maintenant aller un peu plus loin et créer un form sur lequel j'ai deux text box respectivement From Date et To Date afin de filter mon report sur base de ces deux text box. Comment me conseilles-tu de procéder ? J'aimerais écrire cela en VBA mais je n'ai pour ainsi dire aucune connaissance de ce langage. Je suis prêt à l'apprendre, pas de problème. Une idée ? |
|
|
00
|
|
|
#5 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
Bonjour,
Le filtre ne va pas dépasser 31 jours d'intervalle ou bien il faut augmenter le nombre d'indices dans la table "T_Jour2", En fait c'est le même principe que pour les autres requêtes, sauf qu'on se base sur la table "T_Jour2" et qu'on utilise 2 paramètres (Forms!F_Filtre!DateD et Forms!F_Filtre!DateF) dans la requête "R_Jour2". (pratiquement pas besoin de VBA) J'ai donc renommé "R_Jour" en "R_Jour2", "R_JourHoraire" en "R_JourHoraire2", "R_RendezVous(2)" en "R_RendezVous(2)2" et enfin "R_RendezVous(2)_Analyse croisée" en "R_RendezVous(2)_Analyse croisée2" L'état "R_Planning2" est basé sur cette dernière requête... Tu ouvres le formulaire "F_Filtre", choisi les date de début et de fin et ouvre l'état... Je ne vois pas comment je peux t'expliquer autrement Et comme un exemple vaut toujours mieux qu'1 long discours, le voici: PlanningRecrutement.zip A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 93 ![]() |
Salut,
Besoin de quelques explications. Dans ta requete R_Jour2 , pourrais-tu me donner quelques précisons sur cette ligne : DateJour: Forms!F_Filtrer!DateD+[IndiceJour]-1 D'où vient DateJour ? |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 93 ![]() |
Je viens de trouver. Désolé.
Par contre je ne comprends pas bien le -1 à la fin de cette ligne dans ta Query R_Jour2 DateJour: [Forms]![F_Planning]![DateD]+[IndiceJour]-1 |
|
|
00
|
|
|
#8 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
Cette requête génère les 7 jours du calendrier (du planning et état) compris entre DateD et DateD+6 sur le formulaire "F_Planning".
Code :
DateJour: [Forms]![F_Planning]![DateD]+[IndiceJour]-1 et si IndiceJour=1 (j'aurais pu partir de 0 et ôter le -1 DateJour= #01/01/2011#+1-1 DateJour= #01/01/2011# si IndiceJour=2 DateJour= #01/01/2011#+2-1 DateJour= #02/01/2011# ... si IndiceJour=7 DateJour= #07/01/2011# Donc ca va te générer dans la requête: DateJour #01/01/2011# #02/01/2011# #03/01/2011# #04/01/2011# #05/01/2011# #06/01/2011# #07/01/2011# après tu fais dans "R_HoraireJour" le produit cartésien entre les jours générés et les heures et ça te donne ton calendrier horaires, tu n'as plus qu'a faire une jointure gauche et la requête croisée pour générer ton planning et les rendez-vous... A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 93 ![]() |
Bon j'ai encore un souci. Voici où j'en suis.
J'ai 3 problèmes: 1) lorsque j'ouvre ma requête croisée, j'ai ceci dans l'en tête de colonne : ![]() 2) je ne parviens pas à créer mon état sur base de ma requête croisée alors que dans ton fichier pas de problème il me propose bien les champs de la requête lorsque je suis dans le wizard. Pour info, je travaille avec Access 2010. 3) dans le fichier R_Jour2 chez toi (ce qui correspond à Q_Day chez moi), je ne peux pas ajouter la ligne DateJour: Forms!F_Filtrer!DateD+[IndiceJour]-1 dans le champ Field de la requête en mode design. A chaque fois il me l'enlève dès que je quitte le mode design. En dehors de ça il semble que la requête croisée affiche correctement les infos. Je testerai la création du rapport une fois que tout cela est clean. Voici mon fichier : Tests_Report.zip Correspondance de mes noms de fichiers: Rem: je n'ai laissé que les version 2 des fichiers histoire de voir clair.
|
|
|
00
|
|
|
#10 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
Tu peux convertir ton fichier au format 2000, j'ai access 2003
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
00
|
|
|
#11 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 93 ![]() |
Il semble que je n'ai pas la possibilité de sauver en mdb. une autre idée ?
Attend, j'ai encore une version installée de 2003 quelque part. Je check ça de suite. |
|
|
00
|
|
|
#12 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
Poste déjà le SQL des requêtes en utilisant la balise de code (#)
Surtout le sql de "Q_Day", A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
00
|
|
|
#13 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 93 ![]() |
|
|
|
00
|
|
|
#14 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
tu as oublié de mettre la requête croisée "Q_03_CrossTab"...
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
00
|
|
|
#15 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 93 ![]() |
|
|
|
00
|
|
|
#16 | ||
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
A priori je ne vois pas de problème mis à part pour la requête croisée: il faut figer les en-têtes de colonnes:
Dans la requête croisée tu as le champ "IDInterviewer", affiche les propriétés de ce champ (sélection du champ, puis menu "affichage", puis "propriétés") Et dans la feuille des propriétés du champs sur la ligne "En-têtes des colonnes..." tu mets : 1;2;3;4;5;6 ce qui devrait te faire en sql : Code sql :
remarque que la ligne pivot à changé: Code sql :
PIVOT Q_02_Link_00_01_DateTime_Rdv.IDInterviewer IN (1,2,3,4,5,6); A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
||
|
00
|
|
|
#17 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 93 ![]() |
Salut,
Je viens de tester. Ça fonctionne nickel. Le formulaire ouvre bien le rapport filtré comme il faut. Donc c'est impeccable. Je continue d'avancer sur le projet et reviendrai vers toi si j'ai des questions. Grand merci pour ta réactivité.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com