Requete access

lailaz Messages postés 37 Statut Membre -  
 Paf -
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

Paf
 
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 37 Statut Membre 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 !!
0
Paf
 
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 37 Statut Membre 1
 
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
Paf
 
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 37 Statut Membre 1
 
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
Paf
 
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 37 Statut Membre 1
 
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
Paf
 
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 37 Statut Membre 1
 
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 37 Statut Membre 1
 
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