Requete access

Bonjour,

j'espere etre assez claire se probleme me torture depuis une semaine et j'espere votre aide
alors voici le probleme
j'ai cree une table absence: colonne 1: ecole :texte
colonne2 :nombredejour : numerique
colonne3 :mois :numerique
(pour des raison j'ai pas pu metre date/heure)

voici un exemple de ma table

colonne1:ecole
ecole1
ecole1
ecole1
ecole2

<gras>colonne 2 :nombredejour

1
2
4
12

colonne3:mois
9
10
11
9
(je n'ai pas pu cree une table ces colonne sont lier)
alors ce que j'essai de faire est une requete ou je peut choisir par exemple 2mois et faire la somme des nombredejour
par exemple je veut l'absence de mois 9 et 10
le resultat doit etre
ecole1 3(1+2)

ou mois 9 et 10 et 11
ecole1 7(1+2+4)

et ainsi de suite pour tous les mois et toutes les ecoles c'est un rapport que je dois remettre chaque fois demander
j'espere etre tres claire et c'est vraiment urgent merci

4 réponses

  1. bonjour,

    Pas trop saisi pour la table:
    j'ai cree une table absence
    (je n'ai pas pu cree une table ces colonne sont lier) 


    S'il existe une table absence:

    SELECT ecole, sum(nombredejour)
    FROM absence
    WHERE mois between 9 and 11
    GROUP BY ecole;

    Bonne journée
    1. salut Paf

      j'ai deja essayé ''between'' mais il ne me donne rien
      le resutat resemble a ceci:

      ecole1 1 9
      ecole1 2 10
      ecole1 4 11

      je ne sais pas pourquoi il ne realise pas la somme !!
      1. Bonjour
        j'ai testé la requête sur acces 2003, la même table les mêmes champs et ça marche!

        Montre la requête que tu utilises!

        Bonne journée
    2. je travail sur 2007, voila ma requete:

      SELECT Etablissement.ecole, Sum(joursabsence.absence) AS Sommeabsence, joursabsence.mois

      FROM Etablissement INNER JOIN joursabsence ON Etablissement.ecole = joursabsence.ecole

      GROUP BY Etablissement.ecole, joursabsence.mois

      HAVING (((joursabsence.mois) Between 9 And 11));

      j'ai utilisé deux table une pour les nom d'ecoles et l'autre pour l'absence.

      merci infiniment j'espere que vous parviendrai a me resoudre se probleme
      bonne journée.
      1. On n'est plus dans le problème du départ !!
        D'une table on passe à deux!

        Quelle est la structure de ces tables? sinon on ne peut rien faire

        A+
    3. pardon j'ai cru simplifier le probleme
      alors voila :

      table etablissement : nometab
      table absence : joursabsence, mois, nometab

      jointure : nometab

      voila exactement mon app access

      alors la requete ''between'' que je fais est presenté ainsi:

      SELECT Etablissement.NomEtabA, Sum(absence.joursabscence) AS SommeDejoursabscence, absence.mois

      FROM Etablissement INNER JOIN absence ON Etablissement.NomEtabA = absence.nometab

      GROUP BY Etablissement.NomEtabA, absence.mois

      HAVING (((absence.mois) Between 9 And 11));

      mais ça me donne pas le resultat voulu
      1. Re

        SELECT nometab , sum(joursabsence)
        FROM absence
        WHERE mois between 9 and 11
        GROUP BY nometab ;

        C'est la même requête que précedemment aux noms de champ près.

        Finalement la table "etablissement" n'apporte rien. Tous les éléments utiles se trouvent dans la table "absence"
        Faire la jointure sur "etablissement" présenterait un intérêt si on y trouvait des informations à faire afficher, mais là ce n'est pas le cas.

        A+
      2. ok la requete est correct
        mais elle ne fonctionne pas pour moi
        il me donne l'absence de chaque mois et pas la somme
        il commence a me cassé la téte
        je sais que je demande trop mais ya t-il autre chose que je puisse faire a part "entre ...et...."
      3. Re

        SELECT Etablissement.NomEtabA, Sum(absence.joursabscence) AS SommeDejoursabscence, absence.mois

        Le fait d'ajouter absence.mois provoque l'affichage de tous les mois pour chaque établissement, et ne peut pas afficher la somme pour les mois du between !
        as tu essayé sans ?
      4. j'ai essayé malheureusement je n'ai pas reussi il continué a afficher la meme etablissement pour chaque mois, c'est comme si la fonction "somme" ne fonctionne pas de tout
        il n'y a aucun autre moyen en vba par exemple
      5. croix tu que le probleme est causé par le fait que le champ mois et de type numerique et non pas date/heure ?
        quand j'essai de le rendre date/heure il ne me permet pas d'affiché uniquement le mois par exemple quand j'ecris 9 il la transforme ainsi 08/01/1990