Requête ACCESS

marmont Messages postés 8 Statut Membre -  
marmont Messages postés 8 Statut Membre -
Bonjour,

Bonjour,

Je dispose d'une table avec entre autres les champs suivants :

Nodem / NuméroAuto
Objet / Mémo
Agent / Texte
DateDemande / Date/Heure
FinPrévueLe / Date/Heure
ServiceFaitLe / Date/Heure

Je souhaiterais batir une requête m'affichant le nombre de demandes réalisées par un agent entre deux dates.
Ma requête me donne bien la main pour entrer le nom de l'agent, la date de début et la date de fin mais le résultat ne me convient pas dans la mesure ou il me renvoit tous les enregistrements.

Exemple AF pour la période du 01/01/2010 au 31/01/2010

Agent / DateDemande
AF / 05/01/2010
AF / 07/01/2010
AF / 08/01/2010
AF / 12/01/2010
AF / 14/01/2010
AF / 21/01/2010
AF / 22/01/2010

Ce que j'aimerais obtenir :

Agent Nombre de demandes
AF 7

Merci d'avance pour votre aide

11 réponses

ndsaerith Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   28
 
Bonjour,

Il faut utiliser la fonction count (dans le select).
Exemple :
select Agent, count(*) as Nombre de demandes
from matable
where agent = "AF"

NB : je ne sait pas comment est construite ta requête, c'est juste un exemple
0
marmont Messages postés 8 Statut Membre
 
Merci pour ta réactivité, je vais t'en dire un peu plus.

J'ai juste deux champs dans ma requête.

Champ : Agent
Table : Demandes
Critères : [indiquez les initiales de l'agent]

Champ : DateDemande
Table : Demandes
Critères : Entre [tapez la date de début] et [Tapez la date de fin]

Si je l'affiche en SQL ça me donne :
SELECT Demandes.Agent, Demandes.DateDemande
FROM Demandes
WHERE (((Demandes.Agent)=[indiquez les initiales de l'agent]) AND ((Demandes.DateDemande) Between [Tapez la date de début] And [Tapez la date de fin]));
0
ndsaerith Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   28
 
Alors ça fait quelque chose comme :

SELECT Demandes.Agent, count(Demandes.DateDemande) as Nombre de demandes
FROM Demandes
WHERE (((Demandes.Agent)=[indiquez les initiales de l'agent]) AND ((Demandes.DateDemande) Between [Tapez la date de début] And [Tapez la date de fin]));
0
marmont Messages postés 8 Statut Membre
 
merci mais il doit me manquer un ptit qque chose pour que ça fonctionne !

J'ai les messages suivants lorsque je colle ce code dans une nouvelle requête :

1. Dans l'instruction SELECT un mot réservé ou un argument est mal orthographié ou absent ou la pontuation est incorrecte. Resolu, en mettant entre crochets l'expression Nombre de demandes.

2.Vous avez essayer d'exécuter une requête ne comprenant pas l'expression spécifiée "Agent" comme une partie de la fonction d'agrégat. là, je ne vois pas !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ndsaerith Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   28
 
Re,

Essaye d'ajouter group by Demandes.Agent a la fin de la requête.
0
ndsaerith Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   28
 
Et count (*) au lieu de count(Demandes.DateDemande)
0
marmont Messages postés 8 Statut Membre
 
Hélas toujours rien, voilà ma requête et toujours le pb d'agrégat

SELECT Demandes.Agent, Count(*) AS [Nombre de demandes]
FROM Demandes
GROUP BY Demandes.Agent
HAVING (((Demandes.Agent)=[indiquez les initiales de l'agent]) AND ((Demandes.DateDemande) Between [Tapez la date de début] And [Tapez la date de fin]));

merci en tout cas
0
ndsaerith Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   28
 
Re,
Essaye :
SELECT COUNT( Demandes.Agent), Count( Demandes.Agent) AS "Nombre de demandes"
0
marmont Messages postés 8 Statut Membre
 
Rien à faire !!!

Peut être qu'en te joignant le fichier ce sera plus simple
http://www.cijoint.fr/cjlink.php?file=cj201002/cij0JdXROi.zip

Merci
0
ndsaerith Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   28
 
Re,

Désolée je n'ai pas access :'(
0
marmont Messages postés 8 Statut Membre
 
tant pis, je vais essayer de m'en sortir seul.
Je reformulerai peut êre ma requête sur ce même forum
Merci quand même
0