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 :

[CR] Groupement dynamique sur plusieurs champs paramètrés


Sujet :

SAP Crystal Reports

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 33
    Points : 33
    Points
    33
    Par défaut [CR] Groupement dynamique sur plusieurs champs paramètrés
    Bonjour, 8)

    Je voudrais savoir comment créer faire un "grouping" avec plusieurs champs en paramètres. Je pense qu'il faut utiliser le "formula editor" mais je ne connais pas du tout la syntaxe pour grouper les données de cette façon...
    Si quelqu'un peut m'aider ...

  2. #2
    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
    Pourquoi ne pas utiliser un champ formule qui contient les différents paramètres et l'utiliser en tant que groupe ...
    Formula = PAR1+PAR2+PAR3
    Je ne l'ai pas essayé mais je pense que ca devrait marcher.
    Si ca ne marche pas on doit pouvoir trouver autre chose ....
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 6
    Points : 9
    Points
    9
    Par défaut Hum... Même problem
    Bonjour,

    Je veux faire exactement la même chose, mais la solution
    "Formula = PAR1+PAR2+PAR3"
    comme tu le suggère ne fonctionne pas avec les dates, car on ne peut pas coller une date avec une chaine.
    Et lorsqu'on fait un "totext(la_date)" le tri que tu applique sur le groupement ne les fait plus apparaitre par ordre chronologique mais alphabétique (a cause du totext() qui transforme la date en chaine), or c'est l'ordre chronologique qui est plus intéressant !

    Si quelqu'un a une suggestion je suis preneur ! (notamment par exemple avec la fonction GroupName...?)

  4. #4
    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
    Pourquoi dans ce cas ne pas faire 1 groupe pour chaque champ ?
    Ce cas là garantit l'Order By et ne pose pas le problème de la concaténation ...
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 6
    Points : 9
    Points
    9
    Par défaut En fait...
    En fait je ne veux pas passer par Crystal Report Designer pour créer ce champ, mais passer par l'API PCRE Java... et donc pouvoir construire dynamiquement cet ordre de groupement.
    Etant donné qu'on ne sait pas à la base combien de champs seront nécessaires (le choix est donné à l'utilisateur), j'essaye de construire ce groupement multiple uniquement grâce à la concaténation de plusieurs champs... et je me retrouve au problème initial.

  6. #6
    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
    Alors on revient à la solution 1 ...
    Sauf que pour une Date Tu Fais un formatage différent par exemple :

    ToText({Commande.Date},"yyyy/MM/dd")

    Ce qui Fait que Tu as année, mois, jour et donc le tri fonctionne ....
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  7. #7
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 6
    Points : 9
    Points
    9
    Par défaut Tout a fait d'accord...
    C'est une solution que j'ai envisagé en effet, mais du coup l'affichage de la date n'est pas au format français (eh oui, c'est le client qui décide...). En fait voilà la solution que j'avais envisagé :

    - faire un formula invisble sur lequel je fais mon tri totext("...",yyyy,MM,dd) s'il s'agit d'une date, + autres champs éventuels
    - afficher les données dans un autre formula visible au champ français

    Mais voici le problème :
    - lourd à mettre en place car besoin de deux formulas (d'ou ma recherche d'une autre solution)
    - En faisant ainsi, les options de Sort sur les champs choisis pour le groupement en fonctionnent plus : le tri appliqué est celui du groupement et non pas celui des champs, il n'est donc pas possible de faire
    CHAMP1 ASC + CHAMP2 DESC
    Même en utilisant les options de Sort Record, les données sont affichées dans l'ordre récupéré en base et non pas dans l'ordre du Sort voulu.

    En tout cas merci pour ton aide L.nico c'est sympa.

  8. #8
    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
    Mais de rien ...
    Dernière Solution ... :
    Nous utilisons dans notre société un classe dédiée (VB6) à l'edition qui pointe sur
    le modele objet de crystal (craxdrt.dll).
    Et nous pouvons donc découper la requête dans le code avant l'execution de l'edition
    ce qui nous permet de changer la clause Order By à la volée juste avant l'edition
    si c'est nécessaire.
    Je ne sais pas comment ça marche en delphi ... mais c'est juste une idée que tu pourrais creuser ...
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  9. #9
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 6
    Points : 9
    Points
    9
    Par défaut Si, si j'insiste ;)
    Whoa ca me parait pas mal comme solution, mais je pensais à une solution plus simple, du genre Groupement selon un Formula, et dans le Formula construire la concaténation des champs... mais quand je fais comme ça, y'a toujours ce problème de sort.

    Je vais continuer à chercher... si ca se trouve c'est pas faisable, tout simplement.

Discussions similaires

  1. [Collection] Tris sur plusieurs champs
    Par partyboy dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 12/07/2005, 16h56
  2. Calcul sur plusieurs champs similaires
    Par Zebulonn dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/05/2005, 14h24
  3. Réponses: 2
    Dernier message: 30/11/2004, 09h42
  4. Recherche d'un mot avec LIKE sur plusieurs champs
    Par reynhart dans le forum Langage SQL
    Réponses: 16
    Dernier message: 26/11/2004, 17h41
  5. recuperer les id sur plusieurs champs
    Par matN59 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/03/2004, 10h23

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