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 :

[CR8.5] Grouper des subreports ensembles


Sujet :

SAP Crystal Reports

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 36
    Points
    36
    Par défaut [CR8.5] Grouper des subreports ensembles
    Salut à tous.

    Je n'arrive pas (mais je ne sais pas sis c'est possible) à grouper des subreports entre-eux.
    Je m'explique :
    j'ai un rapport vide ou j'ai mis 4 subreports, dans 4 sections Detail différentes. Le premier subreport utilise 2 tables nommées Account et Activity, mon 2e subreport utilise 3 tables qui sont Account, Opportunity et Activity, mon 3e subreport utilise 4 tables (Account, Contact, Opportunity et Activity) et le 4e subreport utilise 3 tables (Account, Contact et Activity).
    Mon but est d'afficher toutes les activity des account.
    Je voudrais donc grouper les 4 subreports par account.
    Seulement, je ne gère pas du tout les subreports et je ne sais pas comment les lier entre-eux.
    Est-ce que j'aurait dû faire un premier rapport avec plusieurs tables et ajouter seulement 3 subreports ???

    Merci de votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 36
    Points
    36
    Par défaut
    Pour résumer, je voudrais savoir si il est possible de mettre les données (account) de 4 subreports dans un seul rapport commun et de grouper se rapport (par account). Car les données retournées par chacun des 4 subreports sont différentes. Et je pourrais donc avoir tous mes account différents dans un seul rapport qui sera trié.

    J'espère avoir été plus clair et que vous aurez une idée sur le sujet.

    Merci d'avance.

  3. #3
    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
    si j'ai bien compris ton problème.
    Il faut que dans ton état principal tu te bases sur la table Account et que tu fasses un groupe sur account
    En début de groupe ou en fin de groupe dans 4 sections de groupe (#1A #1B #1C #1D) tu places tes
    4 etats en faisant une jointure sur le champ concerné.
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 36
    Points
    36
    Par défaut
    Ca marche ! Merci beaucoup.

    J'ai maintenant 2 petits problèmes concernant ce rapport :

    1) Je voudrais désormais supprimer les GroupFooter (où se trouvent mes subreports) si ils sont vides (pas de valeurs). Seulement, lorsque je vais dans le Section Expert, que je coche la case Suppress en face d'un GroupFooter et que je veux faire un formula y correspondant, je n'ais pas accès à mes subreports et je ne peux donc pas faire de test comme ceci : if isnull(subreport) then true else false.

    2) Je veux compter le nombre de données pour chaque groupe et pour le rapport entier également. Et quand j'insère un Summary ou bien un GrandTotal il me compte les account de mon état principal (et donc le nombre d'entête de groupe) mais pas ceux de mes sous-états.

    Aurais-tu une petite idée sur ces 2 problèmes ?
    Merci d'avance.

  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
    1) en utilisant une variable shared qui totalise tes valeurs dans ton sous etat
    Ensuite dans la condition de suppression de ton etat principal(pour le groupe), si cette variable est <> 0 alors False else True

    2) Idem par une variable Shared Dans les groupes de ton sous etat tu peux compter
    facilement le nombre d'enregistrement X=X+1 Pour chaque fin de groupe dans le sousEtat
    Tu dois en utiliser 2 une que tu réinitialises avant chaque sous etat et l'autre qui totalise de
    façon globale sans réinitialisation
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 36
    Points
    36
    Par défaut
    1) en utilisant une variable shared qui totalise tes valeurs dans ton sous etat
    Ensuite dans la condition de suppression de ton etat principal(pour le groupe), si cette variable est <> 0 alors False else True
    Ca ne marche pas. Le rapport principal n'affiche plus du tout le sous-rapport. Pourtant j'ai créé un formula dans le GroupFooter de mon sous-rapport tel que :
    Shared numberVar AccountNb := Count ({activity.objectname})

    Et j'ai fais le test dans mon état principal (section expert) tel que :
    Shared NumberVar AccountNb;
    If AccountNb <> 0 then false else true

    Je ne comprends pas pourquoi la valeur est égale à 0 dans mon rapport principal alors qu'elle est égale à 1 dans mon sous-rapport ...

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 36
    Points
    36
    Par défaut
    Je viens d'essayer de mettre un WhilePrintingRecords devant le code de la formule située dans le sous-rapport et également devant la condition du rapport principal mais ça ne marche toujours pas.

    J'ai également créer une formule dans le rapport principal pour simplement afficher la variable partagée du sous-rapport mais il m'indique "0" au lieu de "1" (il y a une seule donnée dans le sous-rapport).
    J'ai utiliser le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WhilePrintingRecords; 
    Shared NumberVar AccountNb;
    AccountNb
    Et j'ai bien pensé à placer cette formule après le sous-rapport dans le rapport principal (Report Footer). Et j'ai aussi essayer de donner le même nom à cette formule qu'à celle du sous-rapport mais rien à faire ...

    Je ne vois pas du tout.
    Un petit coup de puce me ferais plaisir.
    Merci d'avance.

  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
    Pour le 1)
    Une manière plus simple, tu définis pour le sous-etat l'option d'etat "Suppression si aucun Enregistrement" puis dans ton etat principal sur la section concernée "supprimer si section Vide"

    Pour le 2)
    En utilisant des Shared Ca marche ou pas ??
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 36
    Points
    36
    Par défaut
    Bon, rien ne marche avec les shared dans mon cas
    Je ne comprends pas tout ... pourtant mon lien entre ma table principale et ma sous-table est bon car j'ai des données du sous-rapport qui viennent se ranger automatiquement dans mes groupes ... j'ai même essayer de sauvegarder les noms des accounts de mon sous-rapport dans un String (variable shared) pour faire une condition dans mon rapport principal sur la suppression ou non des groupes à partir de ce String mais sa longueur dépasse vite les 254 caractères autorisés et je n'arrive de toute façon pas à récupérer n'importe quelle données de mon sous-rapport via une varible shared (le String est null dans mon rapport principal) ....

    De ce fait, ni le 1) ni le 2) ne marchent !!!
    Et le fait de dire
    "Suppression si aucun Enregistrement"
    dans mon sous-état et
    "Suppression si section Vide"
    dans mon état principal ne vas enlever les groupes vides que si mon sous-rapport est entièrement vide, alors que je veux supprimer les groupes vides de mon rapport principal même si il y a qu'une donnée dans mon sous-rapport. Pour résumer, j'ai un sous-rapport comme ceci par exemple :
    - account1
    - account2
    - account4

    j'ai un deuxième sous-rapport comme ceci:
    - account2
    - account4
    - account6

    et je veux que mon rapport principal soit comme ceci:
    - account1
    account1a
    - account2
    account2a
    account2b
    - account4
    account4a
    account4b
    - account6
    account6a

    mais je ne veux surtout pas ceci comme état principal:
    - account1
    account1a
    - account2
    account2a
    account2b
    - account3
    - account4
    account4a
    account4b
    - account5
    - account6
    account6a

    Ici, account3 et account5 sont des groupes qui doivent être supprimés.

    Est-ce que tu as encore une idée sur le sujet ?
    Merci d'avance.

Discussions similaires

  1. [CR8.5]masquer des sous-etat
    Par planetevoyage dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 13/05/2005, 10h51
  2. [CR8.5] Utilisation des codes barre
    Par Robert dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/01/2005, 16h13
  3. [CR] Grouper des minutes par cinq et non une par une.
    Par Etienne51 dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 14/09/2004, 13h45
  4. [CR]grouper des dates par semaines, mais semaines FR !
    Par neo.51 dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 18/05/2004, 20h43
  5. [CR] Grouper des sections de détail?
    Par rodrigue50 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 06/06/2003, 14h32

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