Condition de calcul CpteDom dans un champ formulaire

Résolu
CoYaN -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai une table nommée Table_DataBase, un champ Cotisation

Les informations sont enregistrées dans le champ comme ceci :
PA
PA
2018 CB n° 5530521 du 31/01/18
2018 CB n°0000463 du 02/03/18
PA
2019 CB n° 4106633 du 12/02/19
PA

Je souhaite compter et afficher le résultat comme suit
PA 4
CB 1
Total 5 / 7

Pour cela dans un champ texte j'ai fait ça :
=CpteDom("[Cotisation]";"[Table_DataBase]";"[Cotisation]='PA'") <= là ça marche super bien
=CpteDom("[Cotisation]";"[Table_DataBase]";"[Cotisation]='yyyy'") <= Ne fonctionne pas
=CpteDom("Cotisation";"Table_DataBase") <= Fonctionne que pour le total global

Je souhaite qu'il prenne en compte que l'année en cours
Et pour le total comment faire l'addition PA et CB ?

J'espère avoir été compréhensible.
Merci d'avance pour le/les personnes qui prendront le temps de m'aider.

Configuration: Windows / Firefox 72.0

7 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, pour le total, as-tu envisagé de faire une addition?
la condition
[Cotisation]='yyyy'
devrait plutôt ressembler à
left(Cotisation,4) = format(now(),"yyyy")
0
CoYaN
 
Pour l'addition j'ai réussi.
Il me reste juste à prendre en compte l'année en cours

=CpteDom("[Cotisation]";"[Table_DataBase]";"[Cotisation]='2020")

cela fonctionne si j'ai que 2020 dans ma table. Par contre si d'autre caractère à la suite genre 2020 CB n etc... ça ne fonctionne pas.

quoi mettre à la place de 2020 afin qu'il prenne que l'année en cours
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
as-tu testé ma suggestion?
0
CoYaN
 
Je doit faire comment ?

=CpteDom("[Cotisation]";"[Table_DataBase]";"[Cotisation]="left(Cotisation,4) = format(now(),"yyyy""")

Ça ne fonctionne pas, j'ai une erreur de syntaxe.
Comment je doit l'insérer dans mon CpteDom ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
relis ma suggestion, j'ai indiqué ce qu'il fallait remplacer par ma suggestion.
0
CoYaN
 
Je suis désolé, j'ai relu plusieurs fois ta suggestion, je ne comprend pas.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
tu as essayé ceci:
=CpteDom("[Cotisation]";"[Table_DataBase]";"[Cotisation]='yyyy'")

et j'ai suggéré de remplacer
[Cotisation]='yyyy'

par
left(Cotisation,4) = format(now(),"yyyy")
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CoYaN
 
J'avais une erreur de syntaxe

J'ai réussi, la solution :

=CpteDom("[Cotisation]";"[Table_DataBase]";"left(Cotisation,4) = format(now(),'yyyy')")

Un grand merci yg_be d'avoir pris du temps pour me répondre.
0
CoYaN
 
Et si je souhaite faire une différence entre

2020 CB n°...
2020 ESP

Il existe une close pour la différence ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
par exemple:
left(Cotisation,4) = format(now(),'yyyy') and mid (Cotisation, 5 , 4) = ' CB '
avant de demander comment tester, tu dois décider quoi tester. ici, j'ai décidé, à ta place, de tester que, après les 4 premiers caractères, les 4 caractères suivants étaient " CB ".
0
CoYaN
 
Désolé j'aurais du préciser du départ.
Je viens de faire les modifications, et ça fonctionne a merveille.

Encore un grand Merci pour ton aide.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
on aurait sans doute également pu faire ainsi:
left(Cotisation,8) = format(now(),'yyyy') & ' CB '
0