Bonjour.
j'ai une table nommée "Adherent" qui possède le champ saison (2016-2017, 2017-2018 etc) et celui qui nous intéresse "Dons"
Cette structure "à la Excel" n'est pas viable sur le long terme dans Access. Access marche avec des listes, des listes de listes, des listes de listes de listes ... pas avec des tableaux à 2 dimensions.
Je t'invite à revoir la structure de ta BD en te basant sur le modèle que j'ai évoqué avec 1 enregistrement par saison.
Ça va aussi considérablement simplifier ta logique de calcul.
Ceci dit si tu ne souhaites pas (ou ne peut pas) changer ton architecture, la façon qui me paraît la plus simple est de faire un calcul par année puis d'additionner les résultats.
Ça va t'éviter les tests du type il était l'an dernier mais pas cette année mais là l'année suivante qui sont compliqués et sujet à erreur.
Donc tu pourrais utiliser quelque chose comme :
DCount("Clef"; "Adherent"; "Nz([2016],0)<>0")+DCount("Clef"; "Adherent"; "Nz([2017],0)<>0")+DCount("Clef"; "Adherent"; "Nz([2018],0)<>0")
Éventuellement tu peux envisager de "créer" ce calcul par code VBA et faire en sorte que les noms de champs changent en fonction des années ce qui serait un moindre mal.
A+
Partager