Requete access

Fermé
lailaz Messages postés 36 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 5 décembre 2014 - Modifié par 00lina00 le 10/12/2010 à 22:56
 Paf - 19 déc. 2010 à 14:48
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

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
0
lailaz Messages postés 36 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 5 décembre 2014 1
11 déc. 2010 à 23:24
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 !!
0
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
0
lailaz Messages postés 36 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 5 décembre 2014 1
12 déc. 2010 à 15:29
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.
0
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+
0
lailaz Messages postés 36 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 5 décembre 2014 1
12 déc. 2010 à 16:33
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
0
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+
0
lailaz Messages postés 36 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 5 décembre 2014 1
12 déc. 2010 à 18:49
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...."
0
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 ?
0
lailaz Messages postés 36 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 5 décembre 2014 1
12 déc. 2010 à 20:56
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
0
lailaz Messages postés 36 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 5 décembre 2014 1
12 déc. 2010 à 21:02
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
0