|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 39 ![]() |
Bonjour à tous
Je dispose d’une table de CLIENTS d’un hôtel comprenant les champs : - ID : identifiant du client (C1, C2,…) - DateDebut : date d’arrivée à l’hôtel - DateFin : date de départ de l’hôtel Je cherche à tracer l’évolution glissante (pendant un mois) du nombre de clients sur l’année 2011. Je réalise donc le calcul du nombre de clients pour une valeur de date appartenant soit au champ DateDebut soit au champ DateFin (seuls instants de variation possibles). Pour cela je souhaite regrouper toutes les valeurs des 2 champs DateDebut et DateFin et les classer par ordre croissant. Je fais donc une requête UNION dans une sous-requête : Code :
Dites moi si vous souhaitez toute info complémentaire. Merci par avance pour votre aide. |
||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
Bonsoir sophie,
Pourquoi ne pas décomposer : R_Union : Code sql :
Puis si j’ai bien compris l’intention: Code sql :
à tester…
__________________
L'informatique fait son grand retour au lycée... |
||||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 39 ![]() |
Bonsoir f-leb,
merci de vous pencher sur mon problème. en fait j'ai fait quelquechose de similaire à ce que vous m'avez indiqué, mais il faut que je n'écrive qu'une seule requête, d'où le fait que je bloque. merci par avance pour votre aide. |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
ça doit pouvoir s'imbriquer il me semble:
Code sql :
__________________
L'informatique fait son grand retour au lycée... |
||
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 39 ![]() |
tout à fait, ça marche parfaitement ! merci beaucoup f-leb
je pense que mon problème vient du fait que je voulais faire l'UNION dans la clause SELECT et non dans le FROM, ce que m'interdisais Access. J'ai ensuite fait un graphique; mais en abscisses les dates sont espacées de manière irrégulière dans le temps, comment faire pour dire à Access de tenir compte par exemple qu'il y a un plus grand espace entre (01/01/2010 et 10/01/2010) que entre (10/01/2010 et 12/01/2010) ? car tous les abscisses valeurs de ma table sont espacées de manière identique... en espérant avoir expliqué clairement. merci par avance pour votre aide |
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() ![]() Conseil + Formation Inscription : février 2010 Messages : 594 ![]() |
Bonjour
Dans Excel il faut préciser Chronologique dans le format d'axe. Pas testé dans Access d'autant que tu ne précises pas ta version. |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 39 ![]() |
Bonjour 78chris,
je réalise mon graphique en Mode Graphique croisé dynamique sous Access 2007 à la suite d'une requête que je viens de faire. J'ai essayé en mode Courbes (dans ce cas Access ne tient pas compte des valeurs des dates et elles sont toutes espacées de la même manière) et en mode nuage de points rien ne marche car en abscisses Access affiche les dates de décembre 1899, alors que je n'ai que des dates pour l'année 2010. Je ne comprends pas et je n'arrive pas à décaler ... |
|
|
00
|
|
|
#8 |
|
Membre émérite
![]() ![]() Conseil + Formation Inscription : février 2010 Messages : 594 ![]() |
Bonjour
Toujours sur Excel (mais l'aspect graphique est assez proche) : l'axe n'est chronologique que sur les graphiques standard, pas sur les GCD. Cela doit être du au fait que TCD et GCD sont filtrables et qu'il ne construit donc pas la ligne des temps sur ce qui n'est pas affiché. A part tricher avec un enregistrement à 0 pour chaque jour calendaire de la période... je ne pense pas qu'il y ait une solution dans Access. Dans Excel on peut construire un tableau B reprenant les données d'un TCD et ensuite construire un graphique standard... |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 39 ![]() |
merci pour ta réponse 78chris.
Il faut donc avoir une table contenant toutes les dates de l'année 2010, alors que seulement 20 enregistrements provoquent une modification de valeur de l'ordonnée. Ca engendre une énorme perte de place, quel dommage... De plus, ajouter un enregistrement par exemple en avril 2011, provoque l'ajout d'environ 4*30 enregistrements... je vous remercie par avance si vous avez une solution. |
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonjour,
bizarre, avec la requête précédente avec un graphique "nuage de points" j'obtiens le résultat souhaité il me semble. J'ai Access 2010.
__________________
L'informatique fait son grand retour au lycée... |
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 39 ![]() |
Bonjour f-leb, merci pour votre réponse
Vu que je n’obtiens pas comme vous, je vous détaille comment je m’y prends afin que vous puissiez me dire si je fais une erreur quelquepart : - Après affichage du résultat de ma requête en mode feuille de données : je clique sur Formulaires : Graphique croisé dynamique (étape1) - D’où l’ouverture de la fenêtre pour créer le graphique et je fais glisser les données en abscisses et ordonnées (étape2) - Résultat (étape3) - Je change le type de graphique en nuage de points car il s’est mis par défaut en nuage de points (étape 4) - Résultat final (étape5) : graphique incohérent ! En vous remerciant par avance. |
|
|
00
|
|
|
#12 |
|
Membre émérite
![]() ![]() Conseil + Formation Inscription : février 2010 Messages : 594 ![]() |
Bonjour
Je connais mal les graphiques Access mais a priori si j'ai compris : - il faut faire un formulaire vierge, - y insérer un objet graphique, - le lier à la requête (dans les propriétés une fois le graphique affiché), - puis modifier les options d'affichage en double cliquant dessus (ce qui ouvre msgraph) Ce qui donne un graphique classique et non un GCD et évite de recourir à Excel. |
|
|
10
|
|
|
#13 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 39 ![]() |
en fait j'avais aussi essayé cette solution, (cf pièce jointe) mais Access regroupe mes données par mois et calcule l'ordonnée en additionnant toutes les valeurs correspondant au même mois ... ce qui me donne quelque chose de complètement faux, et ne correpond plus à une évolution glissante du nombre de clients !
merci par avance si vous pouvez me dire comment f-leb a obtenu son graphique qui correpond exactement à ce que je recherche. |
|
|
00
|
|
|
#14 |
|
Membre émérite
![]() ![]() Conseil + Formation Inscription : février 2010 Messages : 594 ![]() |
Bonjour
Si le graph est bien lié à la requête et que la requête ne fait pas de regroupement par mois et que le graph n'est pas cumulé cela marche. Il faut bien remplacer le "select...." des propriétés du graphique par le nom de la requête. Dans mon cas j'ai du inverser ligne/colonne dans le paramétrage msgraph A priori ne se met à jour qu'en affichage pas en modification (ou je n'ai pas trouvé le bouton d'actualisation) |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com