IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAP Crystal Reports Discussion :

[8.5][Logiciel] Compter nombre de caractères [FAQ]


Sujet :

SAP Crystal Reports

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Février 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 356
    Points : 97
    Points
    97
    Par défaut [8.5][Logiciel] Compter nombre de caractères
    Bonjour
    Quelle est la formule pour compter le nombre de caractère dans un champ ?

    Par exemple :
    CABLE - CONNECTIQUE - ROULEAU

    La réponse devrait m'afficher "2" si je choisi le caractère "-" !
    Merci !!

  2. #2
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    T'aime pas chercher toi ?

    Fais F1 dans Crystal et regarde la fonction COUNT...

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Février 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 356
    Points : 97
    Points
    97
    Par défaut
    désolé si j'ai autant de mal !
    a bientot

  4. #4
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Bonjour,

    Je viens de regarder rapidement et j'avoue que c'est plus difficile que je ne le pensais... En gros, il faut faire une super formule...

    Un truc du genre: tu initialises une variable X à 0. Et tu analyses tous les caractères un à un (sers toi d'une boucle) et à chaque fois que "-" reviens tu rajoute 1 à la variable.
    Je sais pas trop comment faire ça et là j'ai pas le temps... Je regarderai surement plus en détail cet après-midi. Peut-être que pour passer de caractère à caractère tu devra créer un variable Y, je ne sais pas.

    Mais c'ets clair qu'avec la fonction COUNT, c'est pas possible... Au temps pour moi...

    Bon courage

  5. #5
    Membre émérite
    Avatar de L.nico
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 143
    Points : 2 679
    Points
    2 679
    Par défaut
    un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function countChar($str,$char)
      Dim A as numeric
      Dim I as numeric
      For I=1 to len($str)
         if mid($str,I,1) = $char then A=A+1	
      Next
      countChar = A
    end function
    je n'ai pas CR10 sous la main, donc c'est juste l'idée à suivre pour créer cette formule si je ne me trompe pas.
    Je ne garantis pas du tout le code(pas testé), et je ne sais plus si on spécifie le Next en CR, mais il doit être facilement adaptable.
    Bonne continuation.

    EDIT : je viens de voir qu'il s'agit de CR 8.5, il suffit dans ce cas d'utiliser la portion de code dans la fonction là où on en a besoin, car on ne peut pas créer de fonction en CR 8.5.
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  6. #6
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Citation Envoyé par L.nico
    je viens de voir qu'il s'agit de CR 8.5, il suffit dans ce cas d'utiliser la portion de code dans la fonction là où on en a besoin, car on ne peut pas créer de fonction en CR 8.5
    oui je crois qu'il faut juste taper le code dans une formule. Et il est juste possible de le faire en syntaxe basic car je ne crois pas qu'on puisse y arriver en Crystal...

  7. #7
    Membre émérite
    Avatar de L.nico
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 143
    Points : 2 679
    Points
    2 679
    Par défaut
    Citation Envoyé par Aitone le chien
    ...Et il est juste possible de le faire en syntaxe basic car je ne crois pas qu'on puisse y arriver en Crystal...
    On peut indifféremment utiliser la syntaxe basic ou la syntaxe crystal en CR 8.5. Il faut juste spécifier le mode que l'on utilise lors de la saisie de la formule.@+
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  8. #8
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Ickynox, où en es-tu avec ce problème ? As-tu essayé le code de L.nico ? fonctionne-t-il ?

    L.nico, je crois que la syntaxe Crystal ne gère pas cette fonctionnalité

  9. #9
    Membre émérite
    Avatar de L.nico
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 143
    Points : 2 679
    Points
    2 679
    Par défaut
    Ci dessous en syntaxe basic(cr8.5) une formule testée qui marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim str as string
    Dim char as string
    Dim A as number
    Dim I as number
    str = {FactureLigne.Rue}
    char = "e"
    For I=1 to len(str)
     if mid(str,I,1) = char then A=A+1	
    Next
    formula = "nombre de e dans la rue du client " + ToText(A)
    elle compte le nombre de caractère E dans le champ rue de .....
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  10. #10
    Débutant  
    Profil pro
    Inscrit en
    Février 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 356
    Points : 97
    Points
    97
    Par défaut
    ahh, eh bien j'ai écrit dans l'éditeur de formule :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim str as string
    Dim char as string
    Dim A as number
    Dim I as number
    str = {ARTICLE.Localisation}
    char = "M"
    For I=1 to len(str)
     if mid(str,I,1) = char then A=A+1	
    Next
    formula = "nombre de e dans la rue du client " + ToText(A)

    ce qui est en rouge est ce que j'ai changé par rapport à la formule de NICO.

    La formule ne marche pas pour moi
    Merci nico pr ton aide, je voi que tu t'es vraiment cassé la tete pour moi .
    ;-)

  11. #11
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bien que la formule ne fonctionne pas, pourrais tu nous dire le résultat donné ?

    PS :

  12. #12
    Débutant  
    Profil pro
    Inscrit en
    Février 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 356
    Points : 97
    Points
    97
    Par défaut
    la réponse que l'on me donne est :

    Cette formule contient une erreur. Voulez vous l'enregistrer quand meme ?

  13. #13
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Quand tu tapes ta formule, regardes en haut, il doit y avoir écrit :
    Syntaxe Crystal avec une petite flèche à côté. Choisis "Syntaxe Basic" et je pense que cela marchera

  14. #14
    Membre émérite
    Avatar de L.nico
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 143
    Points : 2 679
    Points
    2 679
    Par défaut
    Citation Envoyé par L.nico
    Ci dessous en syntaxe basic(cr8.5) ...
    Citation Envoyé par Aitone
    Quand tu tapes ta formule, regardes en haut, il doit y avoir écrit :
    Syntaxe Crystal avec une petite flèche à côté. Choisis "Syntaxe Basic" et je pense que cela marchera
    Aitone a tout à fait raison ....
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  15. #15
    Débutant  
    Profil pro
    Inscrit en
    Février 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 356
    Points : 97
    Points
    97
    Par défaut
    Merci, !!
    ca marche !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compter nombre de caractres
    Par Rian83 dans le forum Langage
    Réponses: 6
    Dernier message: 15/11/2010, 20h01
  2. Compter nombre de caractères
    Par Devilju69 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 10/09/2010, 21h50
  3. Réponses: 28
    Dernier message: 11/10/2006, 22h36
  4. Compter le nombre de caractère d'une chaîne
    Par kespy13 dans le forum Langage
    Réponses: 3
    Dernier message: 19/04/2006, 18h04
  5. Compter le nombre de caractère d'un textarea en permanance
    Par genova dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/12/2005, 20h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo