Bonjour à tous et à toutes,
J'ai un formulaire F Adhérents gérant des adhérents
J'y ai inséré un sous-formulaire F_Cotisation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT [T Adhérents].* FROM [T Adhérents] WHERE ((([T Adhérents].Adherent)=True)) ORDER BY [T Adhérents].Nom;
Ils sont liés par les champs T Adhérents.N°Adherent <===>T_Cotisation.T_Adherent_FK
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT T_Cotisation.NUM_COTISATION_PK, T_Cotisation.T_Adherent_FK, T_Cotisation.Cotisation_An, T_Cotisation.AG, T_Cotisation.Cotisation, T_Cotisation.Cotisation_Du FROM T_Cotisation;
Je voudrais faire apparaitre dans mon formulaire principal le total des cotisations dues par chaque adhérent (Cotisation_Du) pour l'année actuelle et les 4 précédentes.
[Cotisation_An] correspond aux années.
J'ai cela dans un requête analyse croisée
mais je ne peux pas associer cette requête à la T Adhérents comme source de mon formulaire principal car je ne peux alors ni modifier un enregistrement ni en rajouter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 TRANSFORM Sum(T_Cotisation.Cotisation_Du) AS SommeDeCotisation_Du SELECT [T Adhérents].N°Adherent, [T Adhérents].Nom, [T Adhérents].Prenom, Sum(T_Cotisation.Cotisation_Du) AS Total FROM [T Adhérents] INNER JOIN T_Cotisation ON [T Adhérents].N°Adherent = T_Cotisation.T_Adherent_FK WHERE (((T_Cotisation.Cotisation_An) Between (Year(Now())-4) And (Year(Now()))) AND (([T Adhérents].Adherent)=True)) GROUP BY [T Adhérents].N°Adherent, [T Adhérents].Nom, [T Adhérents].Prenom ORDER BY [T Adhérents].N°Adherent, [T Adhérents].Nom, [T Adhérents].Prenom PIVOT T_Cotisation.Cotisation_An;
J'ai un contrôle [Montant_Du] où j'ai essayé de mettre la formule suivante :
=SomDom("[T_Cotisation]![Cotisation_Du]";"[T_Cotisation]";"[T_Cotisation]![Cotisation_An]>=Année(Date()-4)" Et "[T_Cotisation]![Cotisation_An]>=Année(Date()-4)" Et "[T Adhérents]![N°Adherent]=[T_Cotisation]![T_Adherent_FK]")
Le résultat affiché me donne le total de [Cotisation_Du], les critères ne sont donc pas pris en compte.
Il y a donc une erreur de syntaxe dans ma formule...ce qui ne me surprend pas.
Peut-être y-a-t-il une autre solution que de passer par une fonction de domaine, toujours trop lente.
Peut-être est-il mieux aussi de mettre ce contrôle dans le sous-formulaire, je ne sais pas trop.
Merci de votre aide.
A+
C15
Merci de votre aide.
Partager