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

Formules Discussion :

Formule utilisant une fonction JOIN n'accepte pas mon tableau [CR 10]


Sujet :

Formules

  1. #1
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut Formule utilisant une fonction JOIN n'accepte pas mon tableau
    Bonjour,

    Je suis débutante et j'essaie d'utiliser la fonction JOIN pour afficher un tableau.

    Tout d'abord j'ai créer une formule qui me retourne un tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Shared stringVar array class_names := ["Jim","Hans","Jacques","Hitomi","Céline"];
     
    class_names[5];
    Puis j'essaie d'utiliser la Variable ci-dessus dans une autre Formule avec la fonction JOIN :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WhilePrintingRecords;
    Global stringVar array class_names := ["Jim","Hans","Jacques","Hitomi","Céline"];
    Join({@Class Name}, ",");
    J'ai l'erreur suivante :
    ---------------------------
    Crystal Reports
    ---------------------------
    Saisissez ici un tableau de chaînes.
    ---------------------------
    OK
    ---------------------------
    Merci d'avance,

  2. #2
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 942
    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 942
    Points : 2 720
    Points
    2 720
    Par défaut
    bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Join(class_names, ",");

  3. #3
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Bonjour,

    Merci pour la réponse.

    Mais j'aimerais savoir s'il est possible de faire un JOIN en appelant un variable d'une autre formule ?

    Par exemple, j'ai 2 champs de formule (illustré ci-joint) :

    1. Class Name : Tableau de ma variable
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      Shared stringVar array class_names := ["Jim","Hans","Jacques","Hitomi","Céline"];
       
      class_names[5];
    2. Display Class Name : Méthode affichant avec JOIN ma variable ci-dessus
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      WhilePrintingRecords;
      Join({@Class Name}, ",");


    Mais J'ai tj l'erreur :

    ---------------------------
    Crystal Reports
    ---------------------------
    Saisissez ici un tableau de chaînes.
    ---------------------------
    OK
    ---------------------------
    Merci d'avance

  4. #4
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 942
    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 942
    Points : 2 720
    Points
    2 720
    Par défaut
    Bonjour,

    je ne comprend pas bien la question..
    ta variable d'une autre formule, c'est bien array class_names
    la fonction join ne s'utilise qu'avec des tableaux, pas avec des formules..
    que souhaites tu faire. ??

  5. #5
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Désolé ce n'est pas facile à expliquer....

    Je suis en train de faire la formation Crystal Reports ("Crystal Reports XI R1/R2 - Report Design II - Business Reporting Solutions").

    Un moment il demande dans un premier temps de faire une formule contenant l'array class_names (Class Name), puis de faire une méthode avec JOIN dans une autre formule (Display Class Name).

    Je me demandais s'il était possible d'appeler l'array class_names, même s'il elle n'ai pas dans la même méthode que le JOIN ou si on est obliger de déclarer les variable dans une même méthode, formule ?

  6. #6
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 942
    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 942
    Points : 2 720
    Points
    2 720
    Par défaut
    Il te faut redéclarer toutes les variables que tu utilises dans une formule...
    en faisant attention à l'étendue de ces variables.

    si tu utilises local, la variable n'appartient qu'à la formule en cours.*
    si tu utilises global (le defaut), la variable appartient à tout le rapport en cours
    si tu utilises shared, la variable appartient à tout le rapport et sous rapports. C'est cette déclaration qui te permet de remonter ou de descendre des informations dans ou d'un rapport vers un autre (rapport/sous rapport)

  7. #7
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Merci,

    J'ai enfin compris, javais du mal avec le concepte du type de variable (shared, LOCAL, GLOBAL).

    Mais j'ai réussi !

    Dans Class Name :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    WhilePrintingRecords;
     
    Shared stringVar array class_names := ["Jim","Hans","Jacques","Hitomi","Céline"];
     
    class_names[5];
    Dans Display Class Name :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    WhilePrintingRecords;
     
    Shared stringVar array class_names ;
     
    class_names[5];
     
    Join(class_names, ",")
    MERCI....

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/01/2014, 15h03
  2. Utiliser une fonction dans les formules
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/05/2009, 09h13
  3. Réponses: 10
    Dernier message: 10/02/2006, 14h23
  4. DAO impossible d'utiliser une fonction dans un requete
    Par exter666 dans le forum VBA Access
    Réponses: 10
    Dernier message: 24/09/2005, 17h15
  5. Utiliser une fonction
    Par MaxiMax dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/08/2005, 07h53

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