Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2011, 10h15   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2008
Messages : 63
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 63
Points : 14
Points : 14
Par défaut Count Recidive entre 2 date

Bonjour,
Je ne sais pas qu'elle expresion utiliser.
J'ai une table RELEVE. Dans cette table, j'ai un une clé secondaire USAGER et un champ DATE_RELEVE.
Je souhaite trouver tous les usager ayant fait l'objet de plusieurs Relevés à une date différente. il s'agit de RECIDIVE.
Jusque là ça va.
Maintenant je souhaite compter le nombre de récidives. Dans ce calcul, je ne doit pas prendre le premier releve.
En fait si une personne à deux relevés je veux que ça me compte une récidive
et si une personne à 3 relevés je veux 2 recidives...
Précision le compte se fait entre pour Annee N-5.
Je ne fais pas ma requête en VBA.
Merci de votre aide.
Nana35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 10h33   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Nana35,

Je te suggère, via l'assistant, donc :

Requête R1 :
- ajouter la table RELEVE (FROM) ;
- sélectionner USAGER et année(DATE_RELEVE) (SELECT) ;
- grouper par USAGER et année(DATE_RELEVE) (GROUP BY) ;
- ajouter count(*) (SELECT) ;
- critère année(DATE_RELEVE) > année(Date())-5 (WHERE (où) et non HAVING).
==> comptage des relevés, par année, pour les 5 années précédents, et pour un usager.

Requête R2 :
- ajouter la requête R1 (FROM) ;
- sélectionner USAGER, année(DATE_RELEVE) et Recidive:count(*)-1 (SELECT) ;
- critères Recidive<>0.
==> liste des usagers avec récidive.

Non testées, donc à adapter, sans doute, à ton cas : sauf erreur de ma part, tous les éléments devraient être présents.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 12h27   #3
Candidat au titre de Membre du Club
 
Inscription : novembre 2008
Messages : 63
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 63
Points : 14
Points : 14
Merci,
C'est un peu mieux que ce que j'avais.
Seulement ça me fait le cumul.
Chaque année en fait je dois compter le nombre de récidives (récidives calculées entre les 5 dernières année, avant 5 ans c'est oublié)
Par exemple
Cumul
Releve1 le 15 Mai 2004 Usager XXX 0 recidive
Releve11 le 7 Mars 2006 Usager XXX 1 récidive
Releve25 le 10 Sept 2006 Usager XXX 2 récidives
Releve100 le 12 Oct 2010 Usager XXX seulement 2 récidives (celle de 2004 oubliée)
Ce que je souhaite
Résultat Requete pour l'anne 2004 o récidive
Résultat Requete pour l'anne 2005 o récidive
Résultat Requete pour l'anne 2006 2 récidives
Résultat Requete pour l'anne 2007 o récidive
Résultat Requete pour l'anne 2008 o récidive
Résultat Requete pour l'anne 2009 o récidive
Résultat Requete pour l'anne 2010 1 récidive
Je ne vois pas comment arriver à celà
Merci
Nana35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 14h17   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Il me semble que tu changes le "cahier des charges" en cours de route...

Quelques précisions. Tu dis :
Citation:
Seulement ça me fait le cumul.
puis :
Code :
1
2
3
4
5
Cumul 
Releve1   le 15 Mai 2004  Usager XXX 0 recidive 
Releve11  le 7  Mars 2006 Usager XXX 1 récidive 
Releve25  le 10 Sept 2006 Usager XXX 2 récidives
Releve100 le 12 Oct 2010  Usager XXX seulement 2 récidives (celle de 2004 oubliée)
Cela veut-il dire que ce que tu appelles "Cumul" sont les données que tu as à ta disposition ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 15h07   #5
Candidat au titre de Membre du Club
 
Inscription : novembre 2008
Messages : 63
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 63
Points : 14
Points : 14
Alors,
Les requêtes que tu m'as donné font un cumul à mon sens . Et ce n'est pas ce que je souhaite. Et je n'ai pas de dionnées cumul comme tu peux le penser.
Résultat actuel qui donne un cumul
Citation:
Releve1 le 15 Mai 2004 Usager XXX 0 recidive
Releve11 le 7 Mars 2006 Usager XXX 1 récidive
Releve25 le 10 Sept 2006 Usager XXX 2 récidives
Releve100 le 12 Oct 2010 Usager XXX seulement 2 récidives (celle de 2004 oubliée)
Je préfère
Citation:
Résultat Requete pour l'anne 2004 o récidive
Résultat Requete pour l'anne 2005 o récidive
Résultat Requete pour l'anne 2006 2 récidives
Résultat Requete pour l'anne 2007 o récidive
Résultat Requete pour l'anne 2008 o récidive
Résultat Requete pour l'anne 2009 o récidive
Résultat Requete pour l'anne 2010 1 récidive
Nana35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 15h34   #6
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Tu veux donc transformer ceci (que tu sais obtenir, donc) :
Code :
1
2
3
4
Releve1 le 15 Mai 2004 Usager XXX 0 recidive 
Releve11 le 7 Mars 2006 Usager XXX 1 récidive 
Releve25 le 10 Sept 2006 Usager XXX 2 récidives
Releve100 le 12 Oct 2010 Usager XXX seulement 2 récidives (celle de 2004 oubliée)
en cela :
Code :
1
2
3
4
5
6
7
Résultat Requete pour l'anne 2004 o récidive
Résultat Requete pour l'anne 2005 o récidive
Résultat Requete pour l'anne 2006 2 récidives
Résultat Requete pour l'anne 2007 o récidive
Résultat Requete pour l'anne 2008 o récidive
Résultat Requete pour l'anne 2009 o récidive
Résultat Requete pour l'anne 2010 1 récidive

Je me trompe ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 17h00   #7
Candidat au titre de Membre du Club
 
Inscription : novembre 2008
Messages : 63
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 63
Points : 14
Points : 14
Oui oui
Nana35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 17h32   #8
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Citation:
Oui oui
à la question
Citation:
Je me trompe ?
==> je considère que tu as voulu dire que je ne me trompais pas (mais je peux me tromper...).


Je te suggère :
- de ne prendre que l'année de :
Code :
1
2
3
4
Releve1   le 15  Mai 2004 Usager XXX 0 recidive 
Releve11  le 7  Mars 2006 Usager XXX 1 récidive 
Releve25  le 10 Sept 2006 Usager XXX 2 récidives
Releve100 le 12  Oct 2010 Usager XXX seulement 2 récidives(2004 oubliée)
- de créer une table Année contenant, simplement, un champ année "Année" que tu rempliras manuellement (2000, 2001, 2002, 2003, etc...) ;
- de créer une requête avec la table Année en primaire, liée à la requête te permettant d'obtenir ton premier tableau avec flèche à droite.
==> tu devrais obtenir le résultat souhaité (les années de la table Année non présente dans ton premier tableau ressortiront à 0).
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 11h46   #9
Candidat au titre de Membre du Club
 
Inscription : novembre 2008
Messages : 63
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 63
Points : 14
Points : 14
J'ai bien compris l'intérêt de la table Annee.
Mais ça ne va pas. Dans ma requête permettant de trouver les relevésde 2010 par exemple dont l'usager aurait fait une récidive dans les 5 dernières années (récidives), j'obtiens toujours des recidives de 2008 par exemple pour lesquelle on aurait eu un relevé en 2006.
Soit le CUMUL
J'ai pensé faire autrement c'est a dire faire plusieurs requête pour chaque année cad tous les relevés de 2008, tous les relevés de 2009 etc
Et si un usager de 2010 apparaît dans les requêtes entre 2006 et 2009 le considérer comme récidive.
Mais je ne suis pas allée plus loin car ça me fait faire 36000 requêtes.
Il manque surement une formule me permettant de compter les récidives mais pour le moment je me laisse un peu de temps pour me replonger dedans.
Merci de ton aide.
Nana35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h52.


 
 
 
 
Partenaires

Hébergement Web