|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Bonjour,
J'ai un petit problème dans ma requête, je voudrais faire un regroupement d'horaire et de date. Il existe différents types d'horaires qui peuvent être: M1, M3, S, FF, S5, .... Il y a également parfois des case vide dans le champ horaire Dans ma requête je souhaite prendre en compte uniquement les horaires M1, M3 et S et ne pas prendre en compte par la même occasion les cases vides. Voici le sql Code :
Quelqu'un sait pourquoi ? Merci |
||
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() Jean-Yves DUMASConsultant informatique Inscription : juin 2010 Messages : 325 ![]() |
Bonjour Williamm,
Pour moi, l'utilisation du HAVING est réservé aux fonction de regroupement. Essaye plutôt avec un WHERE. De plus le not null est superflu, car tu fait des recherches sur des caractères Enfin, pourquoi utiliser un LIKE si tu préfixe/suffixe pas par '*' ? un '=' est amplement suffisant
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!si tout est OK, n'oubliez pas de cliquer sur
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Justement, ma requête effectue un regroupement d'horaire pour chaque date.
Par exemple pour le lundi, je veux que ça me donne le nombre de personne qui font du M1, M3 et S. Pareil pour les autres jours de la semaine. Comment dois je m'y prendre dans les critères pour avoir que du M1, M3 et S? |
|
|
00
|
|
|
#4 | ||
|
Membre éprouvé
![]() Jean-Yves DUMASConsultant informatique Inscription : juin 2010 Messages : 325 ![]() |
Essaye ceci :
Code :
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!si tout est OK, n'oubliez pas de cliquer sur
|
||
|
|
00
|
|
|
#5 | |||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonjour,
Citation:
Code sql :
…GROUP BY "TT/Matin", T_Calendrier.Date, T_PlanningLC.Man, T_PlanningLC.Horraire J’essaierais bien avec le regroupement : Code sql :
…GROUP BY "TT/Matin", t_calendrier.DATE Ce qui donnerait: Code sql :
Si le résultat n’est pas celui espéré, merci d’expliciter avec un jeu de données: |
|||
|
00
|
|
|
#6 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Bonjour,
Alors Dumas j'ai essayé ton code mais sans succès :s merci quand meme F-leb, ton code marche bien mais par contre j'ai un problème assez étrange, c'est qu'il m'a fait un regroupement uniquement de "M3" et uniquement sur une seule date. Ce n'est pas une erreur de structure car si je ne met aucun critère, j'ai bien les regroupements suivant M1, M3, S ( et du coup aussi des autre horaires que je ne veux pas prendre en compte) Je ne sais pas vraiment quoi faire :s |
|
|
00
|
|
|
#7 | ||||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonjour,
Citation:
![]() Citation:
Citation:
Citation:
En dernier recours, tu mets un fichier de démo .mdb compacté/zippé en pièce-jointe. |
||||
|
00
|
|
|
#8 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Bonjour et merci,
Je t'ai fais un jeu d'imprime écran assez explicatif en pièce jointe .rar Dit moi si tu la bien reçu car c'est la première fois que j'en envoie une Merci de ton aide |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonjour,
C’est super, on sait maintenant tout sur tes requêtes fausses et sur ce qu’il ne faut pas obtenir ! Tu as juste oublié un truc ![]() :La requête de mon message #5 marche mais peut-être que non et tu ne la reprends pas d’après tes copies d’écran !? Et finalement tu fais une analyse croisée sur la requête fausse de ton 1er message !? ![]() On ne sait pas ce que tu comptes et comment tu veux regrouper, si c’est par date ? par date et horaire ? C’est quoi Man ? Donne un exemple du contenu de ta table T_PlanningLC sous forme de tableau avec quelques lignes significatives (je sais, faire des tableaux dans un post du forum c’est pas simple Code :
A + |
||
|
00
|
|
|
#10 | ||||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Man est un champ Vrai/Faux. Certains employés sont cochés Man ou pas.
Suivant la date, je voudrais savoir combien d'employés qui sont cochés "Man" font des horaires M1, M2 et S. "CompteDeHorraire" compte le nombre d'employé qui fait un horaire précis (exemple: M1) suivant si c'est un Man ou pas. (Car il le faut pas oublier que je veux absolument distinguer les gens de la catégorie qui sont cochés "Man" et non "Man" Je voudrais donc obtenir une pré-requête qui ressemble à ça en mode feuille de donnée: Code :
Si j'arrive déja à obtenir cette pré-requête, je pense pouvoir facilement avoir ma reqûete sous forme d'une analyse croisée avec en tete de colonne les dates, en tête de lignes: les horaires et le Man (0 et -1) et comme valeur: CompteDeHoraire. Dans ma table PlanningLC: Code :
Tu souhaites d'autres infos? Merci pour ton aide |
||||
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
hé bien dans ta "pré-requête", il suffit de rajouter une condition WHERE juste avant le GROUP BY:
Code sql :
...WHERE t_planninglc.horraire IN ( "M1", "M3", "S" ) champ: horraire Table: t_planninglc Opération: Où Tri: Afficher: Non Critères: In ( "M1"; "M3"; "S" ) |
|
00
|
|
|
#12 | ||||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Petite erreur d'écriture de ma part, ce n'est pas M3 mais M2 (c'est sans intérêt de toute manière)
Malheureusement ça ne m'affiche pas ce que je veux :s Avec ce code Code :
Code :
|
||||
|
|
00
|
|
|
#13 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bon et ben je ne vois pas ce qui cloche
![]() A moins qu'un forumeur de passage ici ait une piste, je propose que tu mettes un bout de ton fichier Access compacté et zippé en pièce-jointe. On va bien finir par y arriver |
|
00
|
|
|
#14 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Salut f-leb,
J'ai enfin compris ce qui n'allait pas (Ouhrahh) C'etait assez difficile d'y penser; dans la pré-requete j'avais introduis un champ Expr: Gauche([Horaire],1) Or chose que je n'avais pas soupçonné, dans mon champ horaire, il y avait un espace entre la marge gauche et l'horaire M1,M2,S dans chaque cellule, sauf pour une qui correspondait bien à la date 08/07/2011. J'ai donc supprimé l'espace vide qui était en trop et j'ai enfin tout ce que je veux dans ma requête! Merci à toi pour l'aide que tu m'as apporté |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com