Requête ACCESS

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
Configuration: Windows XP / Internet Explorer 7.0

11 réponses

  1. 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
    1. Re,

      Désolée je n'ai pas access :'(
      0
      1. 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
        1. Re,
          Essaye :
          SELECT COUNT( Demandes.Agent), Count( Demandes.Agent) AS "Nombre de demandes"
          0
          1. 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
            1. Et count (*) au lieu de count(Demandes.DateDemande)
              0
              1. Re,

                Essaye d'ajouter group by Demandes.Agent a la fin de la requête.
                0
                1. 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
                  1. 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
                    1. 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
                      1. 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