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 :

Lister les éléments d'un champ avec une formule


Sujet :

SAP Crystal Reports

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Lister les éléments d'un champ avec une formule
    Bonjour,

    Cela fait un petit moment déjà que je cherche à savoir comment faire pour
    lister les éléments d'un champ à l'aide d'une formule. Sans grand résultat...

    J'ai un champ "Type Code" qui contient plusieurs éléments (A, B, C...). Je
    voudrais pouvoir les lister à l'aide d'une formule et pouvoir me servir de cette
    formule dans un fichier texte.

    Le problème est que ma formule ne permet d'afficher que le premier élément
    et la fonction next(champ) que j'utilise ne permet d'avoir que le deuxième
    élément (et on ne peut bien sûr pas faire un next(next(champ)).

    Est-il possible de résoudre ce problème?

    Merci d'avance pour vos réponses.

  2. #2
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Citation Envoyé par noob77 Voir le message
    Bonjour,

    Cela fait un petit moment déjà que je cherche à savoir comment faire pour
    lister les éléments d'un champ à l'aide d'une formule. Sans grand résultat...

    J'ai un champ "Type Code" qui contient plusieurs éléments (A, B, C...). Je
    voudrais pouvoir les lister à l'aide d'une formule et pouvoir me servir de cette
    formule dans un fichier texte.

    Le problème est que ma formule ne permet d'afficher que le premier élément
    et la fonction next(champ) que j'utilise ne permet d'avoir que le deuxième
    élément (et on ne peut bien sûr pas faire un next(next(champ)).

    Est-il possible de résoudre ce problème?

    Merci d'avance pour vos réponses.

    un sous rapport ???
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Non justement, pas avec un sous rapport. J'aimerai mettre le résultat de ma formule dans un texte pour que la zone se redimenssionne automatiquement si le résultat fait plus d'une ligne.
    Je sais qu'on peut le faire avec un sous rapport mais cela ne déplacera pas le texte qu'il y a en dessous. De plus j'ai aussi du texte à côté...
    Je ne sais pas quoi faire.

  4. #4
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Citation Envoyé par noob77 Voir le message
    Non justement, pas avec un sous rapport. J'aimerai mettre le résultat de ma formule dans un texte pour que la zone se redimenssionne automatiquement si le résultat fait plus d'une ligne.
    Je sais qu'on peut le faire avec un sous rapport mais cela ne déplacera pas le texte qu'il y a en dessous. De plus j'ai aussi du texte à côté...
    Je ne sais pas quoi faire.

    si tu mets ton sous rapport dans une section bien à lui, cela déplacera le texte en dessous.
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  5. #5
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    En syntaxe Basic, dans ta formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Tab
    Tab = Split (<nom_du_champ>, ";")
    formula = JOIN(Tab, chr(10))
    En espérant que cela puisse t'aider,
    @+
    navis84
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bien tenté ^^ mais cette formule ne me renvoit que le premier élément de mon champ. Es-tu sûr du caractère pour le Split ?

  7. #7
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Cela dépend du caractère séparateur dans ton champ. Peux-tu donner une valeur exemple de ton champ ?
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Ma base de données est de type excel...
    Je peux t'envoyer mes fichiers sources si tu veux voir ça de plus prêt.

    Voilà, merci ^^

  9. #9
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Citation Envoyé par navis84 Voir le message
    Bonjour,

    En syntaxe Basic, dans ta formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Tab
    Tab = Split (<nom_du_champ>, ";")
    formula = JOIN(Tab, chr(10))
    En espérant que cela puisse t'aider,
    @+
    navis84

    Bonjour,

    Le Join et le Split ne permette que de décomposer un champs pour le mettre dans un tableau en indiquant un délimiteur. Dans le cas présent, les enregistrements sont bien dans des enregistrements différents, donc le Split fonctionnera uniquement sur une valeur.

    Il te faut récupérer tes valeurs comme d'habitude quand tu remplis un tableau.

    Dans l'entête de ton rapport

    Dans le champs Détail de ton rapport

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Numbervar Index;
    Shared StringVar array Tab;
    Index :=Index +1;
    Redim Preserve Tab[Index];
    Tab[Index]:= (<nom_du_champ>;
    " "
    Après cela, tu aura toutes tes valeurs dans un tableau nommé Tab.

    tu peux ensuite dans ton rapport principal, utiliser effectivement la commande Join pour tout mettre dans une variable, ou utiliser ton tableau Tab en adressant l'index.

    en premier récupère la taille de ton tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumberVar Taille:=ubound(Tab)
    là, maintenant tu as la taille maximum de ton tableau, cela t'évitera de taper à coté....
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Tu as essayé ce code avec les fichiers que je t'avais donné et ça marche?
    Parce que là quand j'affiche la taille du tableau à la fin du code cela m'indique 1...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Tab[INDEX]:= (<nom_du_champ>;
    " "

    Je ne comprend pas tellement cette ligne là dans le code.
    L'idée de pouvoir mettre les éléments de mon champ dans un tableau est séduisante mais ça ne marche pas.
    Je ne vois pas où tu précises au champ de passer à l'élément suivant pour le mettre dans le tableau.

    Merci.

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Ok ça marche ^^
    Merci beaucoup!

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

Discussions similaires

  1. [CAML] Lister les éléments d'une liste liée par un lookup field
    Par nicolas.pied dans le forum Développement Sharepoint
    Réponses: 1
    Dernier message: 22/09/2009, 08h30
  2. [SP-2007] [CAML] Lister les éléments d'une liste liée par un lookup field
    Par nicolas.pied dans le forum SharePoint
    Réponses: 1
    Dernier message: 22/09/2009, 08h30
  3. lister les éléments d'une IHM
    Par tortuegenie dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 07/09/2007, 14h02
  4. Réponses: 6
    Dernier message: 01/06/2007, 13h19
  5. [Excel] Lister les éléments distincts d'une colonne
    Par GnarlyYoyo dans le forum Excel
    Réponses: 2
    Dernier message: 30/12/2006, 10h00

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