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 :

[CR10]Comparer 2 enregistrements


Sujet :

SAP Crystal Reports

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut [CR10]Comparer 2 enregistrements
    Bonjour, je débute sous Crystal Reports 10 et je rencontre un problème :
    J'ai une base de données dont 2 Tables : Emplacements et Stocks
    Emplacements contient tous les emplacements disponibles
    Stocks contient tous les emplacements actuellement utilisés ( donc certains emplacements vides n'apparaissent pas )

    Emplacements
    CodeEmplacements : Lieu1 | Lieu2 | Lieu3 | Lieu4

    Stock
    CodeEmplacements : Lieu1 | Lieu2 | Lieu4
    QuantitéEnStock : 12,13,... | 15,0 | 0,0

    Je souhaite récupérer et afficher les emplacements vides,
    c'est à dire :

    1/ les CodeEmplacements qui apparaissent dans Emplacements.CodeEmplacements mais pas dans Stock.CodeEmplacements

    2/ la somme des QuantitéEnStock égales à zéro pour chaque CodeEmplacement ( chaque CodeEmplacements peut contenir plusieurs quantités donc j'ai fait un groupe qui fait la somme de ces quantités pour chaque nouvel emplacements mais je n'arrive pas à l'utiliser dans "Formules de selection > Enregistrement"

    (Dans mon exemple je ne veux récupérer que Lieu3 et Lieu4)

    J'ai du mal à me familiariser avec Crystal Reports, j'espère avoir été clair
    Merci.

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Je pense qu'il y aurait plusieurs façons de procéder, essaie de te servir
    de l'expert section (click droit dans la section) et tu te sert de supprimer
    en conditionnant avec QuantitéEnStock<>0, n'oublie pas de faire ta relation de table en left outer join.
    Dis voir ce que ça dit .

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Merci d'avoir répondu,

    J'ai procédé comme cela :
    Dans ma page de conception j'ai en pied de page de groupe, mon groupe qui fait la somme des quantités ainsi que le nom de l'emplacement correspondant

    j'ai fait, si j'ai bien compris ce que vous me conseillez de faire :
    Etat : Expert Section : je sélectionne mon groupe : supprimer la section vide
    et la je met la contrainte "QuantitéEnStock<>0"

    en faisant comme ça, cela ne semble pas fonctionner. Il affiche les Emplacements ayant des Quantités non nulles or je ne veux afficher que les emplacements ayant la somme (toutes les quantités) = 0

    ________

    J'ai essayé dans la selection de groupe mais on ne peut pas utiliser un groupe que l'on a défini en mode conception, il faut le refaire
    donc j'ai fait : SUM(table.QuantitéEnStock) mais il faut que je définisse le fait de se reinitialiser à chaque enregistrement (Emplacement) et je ne sais pas comment l'écrire

    Merci

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    tu confonds, ce n'est pas supprimer la section vide mais supprimer(sans exploration) et tu joues avec tes conditions jusqu'à obtenir ce que tu souhaite, car pour moi ce n'est peut être pas très clair à comprendre d'ici.
    Et pour faire une ré-initialisation sur tes champs tu peux te servir des totaux cumulés qui permettent cela avec pas mal de souplesse.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 45
    Points : 27
    Points
    27
    Par défaut
    Bonjour,
    Comme te l'as expliqué ARAPAHOO, si j'ai bien compris, dans tes résultats tu n'as que les emplacements dont le stocks est non null. si c'est le cas le pb vient forcemment de tes liaisons avec tes 2 tables. Tu lies tes 2 tables en utilisant une "liaison externe gauche".(dans expert de base données tu click droit sur ta liaison ->option de mise en relation->jointure externe gauche. Et normalement tu dois récupérer et les emplacements nulls et non nulls.

    A+

  6. #6
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Merci de vos réponses, grâce à vous 1/2 du problème est résolu ( mon deuxième point "2/" dans mon premier post )
    Il fallait bien faire comme l'a dit arapahoo faire "supprimer sans exploration".

    J'ai encore un petit souci concernant le premier point "1/" c'est à dire :
    comment récupérer&afficher les enregistrements présents dans Emplacements.CodeEmplacements mais pas dans Stock.CodeEmplacements

    Exemple :
    > Emplacements.CodeEmplacements : {Emplacement1, Emplacement2, Emplacement3}
    > Stock.CodeEmplacements : {Emplacement1, Emplacement2}

    => Affichage : "Emplacement3"

    Je précise que j'ai bien fait une jointure externe gauche
    Merci

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Essaie de changer ton groupe et fais le sur CodeEmplacements.
    en gardant ta condition de suppression sur "QuantitéEnStock<>0"
    Dis voir si ça va mieux ?

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    je précise Emplacements.CodeEmplacements sit c'est at table de départ pour la liaison.

  9. #9
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Le problème c'est que je me sers du groupe dans le "supprimer sans exploration" :

    {#RTotal0}<>0
    OR
    {Stock.QuantitéEnStock}<>0


    et également dans le "supprimer la section vide" afin d'obtenir une mise en page sans blanc :
    {#RTotal0}<>0

    Mon groupe s'appelle donc RTotal0 et fais la somme des quantités en se réinitialisant à Zéro à chaque nouvel enregistrement

    Je n'ai pas très bien compris pourquoi je devrais changer mon groupe pour Emplacement.CodeEmplacement. N'est il pas possible d'en créer un nouveau et de lui appliquer des contraintes?
    Il faudrait que je récupère les Emplacements contenu dans Emplacements.CodeEmplacements qui ne sont pas dans Stock.CodeEmplacements.

    J'ai essayé au niveau du lien entre les tables en mettant : Jointure gauche + l'option != plutot que = mais cela ne fonctionne pas

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    C'est pas simple à voir comme ça, moi j'essaierai tout de même un groupe sur Emplacements.CodeEmplacements, comme ça avec la jointure externe, tu es sur de ramener tous les emplacements, ensuite tu met QuantitéEnStock dans ton détail et tu somme, tu place ta somme dans ton pied de groupe à coté de ton
    Emplacements.CodeEmplacements(donc tu masque ton entête de groupe et aussi ton détail, seul apparait ton pied de groupe avec le nom du groupe et la somme de QuantitéEnStock correspondante).Ensuite dans supprimer sans exploration tu conditionne par sum(QuantitéEnStock)>0, et la il faut voir si tes valeurs nulles apparaitrons.
    Mais d'ici c'est pas facile, désolé d'être aussi aproximatif

  11. #11
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Merci !
    Cela fonctionne désormais.

    Actuellement mon affichage des Emplacements ( Groupe Emplacement.CodeEmplacement ) est le suivant :
    010101
    010102
    010103
    01010...
    ...
    010201
    010202
    ...
    010301
    010302
    ...


    Cet affichage est linéaire et prend de nombreuses pages.
    Savez-vous s'il est possible d'afficher ces emplacements en colonnes en les classant selon la valeur du 3ème et 4ème chiffre? (010101)
    de manière à obtenir cela :

    010101 010201 010301
    010102 010202 010302
    010103 010203 010303
    ... ... ...

    Merci

  12. #12
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Je crois que la règle du forum veut que l'on définisse ce post comme résolu
    (c'est à toi de le faire)
    et ouvrir un nouveau post pour ce nouveau sujet, ce qui permet je pense d'être réutilisable par d'autres lors de leurs recherches.

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

Discussions similaires

  1. Comparer deux enregistrements
    Par ksimodo dans le forum Requêtes
    Réponses: 1
    Dernier message: 19/09/2007, 11h32
  2. comparer plusieurs enregistrements
    Par mikeOSX dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 13/09/2007, 17h20
  3. [requête sql]comment comparer des enregistrements de deux tables
    Par DSabah dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/06/2007, 15h12
  4. Comparer deux enregistrements mysql lors d'un update ?
    Par zevince dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 03/02/2006, 16h56
  5. Comparer l'enregistrement avec le suivant ...
    Par psyco2604 dans le forum ASP
    Réponses: 3
    Dernier message: 01/06/2004, 17h40

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