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 :

[CR9] faire une Jointure externe


Sujet :

SAP Crystal Reports

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 7
    Points : 8
    Points
    8
    Par défaut [CR9] faire une Jointure externe
    Bonjour à tous,

    J'utilise le modèle de base de données suivant sous Crystal Report 9:
    - une table principale (gauche) : CLIENT
    - une table liée (droite) : FACTURE
    - la liaison entre les deux tables est une jointure externe gauche.
    Un client peut avoir de 0 à n factures.

    Mon but est d'afficher la liste de tous les clients (qu'ils aient des factures ou non) avec, s'il y a lieu, la somme par client de tous les montants des factures passées au cours d'une année donnée (en paramètre).

    Mon problème :
    Quand j'ajoute mon paramètre "Année" dans la requête de sélection (Facture.Annee = {Annee?}), Crystal Report ne me renvoie que les clients qui ont passé une facture cette année-là.
    En SQL, je crois qu'il faut rajouter un "(+)" après tous les champs de la table liée, mais je ne sais pas comment l'écrire dans la syntaxe Crystal Report.

    Quelqu'un peut-il m'aider ?
    Merci d'avance de vos réponses !

    Cécile

  2. #2
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Points : 126
    Points
    126
    Par défaut
    Pourquoi ne fais tu pas une procédure stockée sur ton serveur SQL, et tu appellerais cette procédure directement sous Crystal ?

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 61
    Points : 55
    Points
    55
    Par défaut


    Ton probleme vient du fait que tu modifie ta formule de sélection. Crystal ne te récupère que les factures de l'année sur laquelle tu filtre. Je pense que tu peux contourner le probleme en modifiant les options de la section qui affiche tes infos. Par exemple, tu supprime l'affichage de ta section si Facture.Annee <> {Annee?}.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Je connais bien le problème, la seule solution que j'ai trouvé c'est utiliser des formules;
    dans la section detail tu masque ta facture qui est en dehors de l'année en question et tu incrementes des un variable total du montant de chaque facture quand elle appartient à ton année...et voilà le tour est joué

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup pour vos réponses.

    Nico118 et glachant : votre solution se rejoint, mais le problème pour moi, c'est qu'elle oblige à parcourir toutes les factures, en ne prenant en compte la contrainte de l'année que dans un second temps. Ma base comprend beaucoup de données, et tout parcourir ainsi allonge considérablement le temps d'exécution.

    Je crois donc que je vais me tourner sur l'idée de jfphan, avec les procédures stockées, même si c'est un peu plus long à mettre en oeuvre.

    En tout cas, merci encore à tous pour vos idées !
    cécile

  6. #6
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 137
    Points : 80
    Points
    80
    Par défaut
    slt,


    j'ai le même probleme que toi, et j'aurai voulu savoir comment tu as fait pour faire ta procédure stocké sous crystal report et comment tu la appeler au moment de généré l'état.


    Merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/11/2011, 10h48
  2. Comment faire une jointure externe en Hibernate ?
    Par Battosaiii dans le forum Hibernate
    Réponses: 4
    Dernier message: 01/09/2011, 14h37
  3. [EJB2.1 Entity] Faire une jointure externe ?
    Par top_eagle dans le forum Java EE
    Réponses: 0
    Dernier message: 18/05/2009, 21h08
  4. Comment faire une jointure ?
    Par Terminator dans le forum Langage SQL
    Réponses: 12
    Dernier message: 16/10/2005, 13h26
  5. Ordre d'exécution dans une jointure externe
    Par Pero dans le forum Langage SQL
    Réponses: 17
    Dernier message: 20/09/2005, 12h22

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