Condition de calcul CpteDom dans un champ formulaire

Résolu
CoYaN -  
yg_be Messages postés 23437 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

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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
  2. 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
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      as-tu testé ma suggestion?
      0
  3. 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
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      relis ma suggestion, j'ai indiqué ce qu'il fallait remplacer par ma suggestion.
      0
  4. CoYaN
     
    Je suis désolé, j'ai relu plusieurs fois ta suggestion, je ne comprend pas.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. CoYaN
     
    Et si je souhaite faire une différence entre

    2020 CB n°...
    2020 ESP

    Il existe une close pour la différence ?
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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
  8. 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
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      on aurait sans doute également pu faire ainsi:
      left(Cotisation,8) = format(now(),'yyyy') & ' CB '
      0