Condition de calcul CpteDom dans un champ formulaire [Résolu]

Signaler
-
Messages postés
11454
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
-
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

Messages postés
11454
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
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")
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
Messages postés
11454
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
as-tu testé ma suggestion?
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 ?
Messages postés
11454
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
relis ma suggestion, j'ai indiqué ce qu'il fallait remplacer par ma suggestion.
Je suis désolé, j'ai relu plusieurs fois ta suggestion, je ne comprend pas.
Messages postés
11454
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
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")
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.
Et si je souhaite faire une différence entre

2020 CB n°...
2020 ESP

Il existe une close pour la différence ?
Messages postés
11454
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
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 ".
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.
Messages postés
11454
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
on aurait sans doute également pu faire ainsi:
left(Cotisation,8) = format(now(),'yyyy') & ' CB '