Bonjour à tous.

Cela fait plusieurs heures que je galère sur le sujet suivant. J'ai un état qui repose sur la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT RqtPivotHeuresPerifParEtablissement.NumAction, Actions.Intitule, Actions.Fin, Actions.Type, Etablissements.Nom, [Personnels].[Prenom] & " " & UCase([Personnels].[Nom]) AS CFC, Production.Lib, AnnexeBudgetaire.HeuresPerif AS Prevu, [RqtPivotHeuresPerifEtablisementAn-1].[2012], RqtPivotHeuresPerifParEtablissement.[1], RqtPivotHeuresPerifParEtablissement.[2], RqtPivotHeuresPerifParEtablissement.[3], RqtPivotHeuresPerifParEtablissement.[4], RqtPivotHeuresPerifParEtablissement.[5], RqtPivotHeuresPerifParEtablissement.[6], RqtPivotHeuresPerifParEtablissement.[7], RqtPivotHeuresPerifParEtablissement.[8], RqtPivotHeuresPerifParEtablissement.[9], RqtPivotHeuresPerifParEtablissement.[10], RqtPivotHeuresPerifParEtablissement.[11], RqtPivotHeuresPerifParEtablissement.[12]
FROM (RqtPivotHeuresPerifParEtablissement LEFT JOIN [RqtPivotHeuresPerifEtablisementAn-1] ON RqtPivotHeuresPerifParEtablissement.IdBudgetaire = [RqtPivotHeuresPerifEtablisementAn-1].IdBudgetaire) LEFT JOIN (Production RIGHT JOIN (Personnels RIGHT JOIN (Etablissements RIGHT JOIN (AnnexeBudgetaire RIGHT JOIN Actions ON AnnexeBudgetaire.N° = Actions.IdBudgetaire) ON Etablissements.N° = Actions.IdEtablissement) ON Personnels.N° = Actions.CFC) ON Production.N° = Actions.Centre) ON RqtPivotHeuresPerifParEtablissement.IdBudgetaire = Actions.IdBudgetaire;
Celle-ci se base sur les 2 requêtes ci-dessous :

RqtPivotHeuresPerifEtablisement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
TRANSFORM nz(Sum([HF].[NbHeure]),0) AS Total
SELECT Etablissements.Nom, Actions.Intitule, HF.IdBudgetaire, AnnexeBudgetaire.NumAction, Actions.Debut, Actions.Fin
FROM AnnexeBudgetaire RIGHT JOIN (Etablissements RIGHT JOIN (Actions RIGHT JOIN HeuresFormateurs AS HF ON Actions.IdBudgetaire = HF.IdBudgetaire) ON Etablissements.N° = Actions.IdEtablissement) ON AnnexeBudgetaire.N° = Actions.IdBudgetaire
WHERE (((HF.Annee)=2013) AND ((HF.TypeHeure)=3))
GROUP BY Etablissements.Nom, Actions.Intitule, HF.IdBudgetaire, AnnexeBudgetaire.NumAction, Actions.Debut, Actions.Fin
PIVOT HF.Mois In (1,2,3,4,5,6,7,8,9,10,11,12);
et RqtPivotHeuresPerifEtablisementAn-1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
TRANSFORM Sum(HF.NbHeure) AS Total
SELECT Etablissements.Nom, HF.IdBudgetaire, Actions.Intitule
FROM Etablissements RIGHT JOIN (Actions RIGHT JOIN HeuresFormateurs AS HF ON Actions.IdBudgetaire = HF.IdBudgetaire) ON Etablissements.N° = Actions.IdEtablissement
WHERE (((HF.Annee)=2012) AND ((HF.TypeHeure)=3))
GROUP BY Etablissements.Nom, HF.IdBudgetaire, Actions.Intitule
PIVOT HF.Annee;
Mon problème commence dans mon état lorsque je veux calculer les heures pour le 1er et le 2nd semestre. Si pour les 12 mois de l'année j'ai "2,0,0,0,0,0,0,0,0,0,0,0" le champ pour le 1er semestre qui a comme donnée "=[1]+[2]+[3]+[4]+[5]+[6]" affiche "200000". Si je regarde le format d'affichage des 12 mois la liste de choix est vide. Alors que pour les heures de l'année 2012 je peux choisir standard avec 2 décimales.


Merci pour votre aide.