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 :

Critères de sélection selon deux options [CR 2013]


Sujet :

SAP Crystal Reports

  1. #1
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 337
    Points : 692
    Points
    692
    Par défaut Critères de sélection selon deux options
    Bonjour à tous,

    je souhaite créer une sélection des enregistrements selon la position de deux options.
    La première est "Facture", la seconde est "Avoir". (en booléen False/True, ou texte Non/Oui, ou numérique 0/1).
    la sélection se fait sur un champs PIHTYP (1, 2, 3, 4) qui correspond au type de pièce dans la table.
    1, 2 sont des Factures. 3, 4 sont des Avoirs.

    La sélection que je souhaite mettre en place est la suivante :
    - Si "Facture" = Oui, on sélectionne les enregistrements de type facture [PIHTYP] = (1 ou 2)
    - Si "Facture" = Non, on ne sélectionne pas les enregistrements de type facture [PIHTYP] <> (1 et 2)
    - Si "Avoir" = Oui, on sélectionne les enregistrements de type avoir [PIHTYP] = (3 ou 4)
    - Si "Avoir" = Non, on ne sélectionne pas les enregistrements de type avoir [PIHTYP] <> (3 ou 4)

    Je n'arrive pas à combiner ces quatre options de sélection sur le même champ de la table.
    Faire le jonglage avec les deux options. Prendre les deux, que l'un ou l'autre, ou aucun.


    Vous remerciant pour votre aide.
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

  2. #2
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 202
    Points : 258
    Points
    258
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    (select {PINVOICE.PIHTYP_0}
    case 1 : {?facture} = "Oui"
    case 2 : {?facture} = "Oui"
    case 3 : {?avoir} = "Oui"
    case 4 : {?avoir} = "Oui"
    default : false)

  3. #3
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 337
    Points : 692
    Points
    692
    Par défaut
    Bonjour GaelleH,
    Merci pour la réponse, mais ce n'est dans ce sens que je chercher.
    Ce n'est pas suivant la valeur de [PIHTYP] que je règle la valeur des options.

    Si l'option {Facture} = 1 alors je sélectionne les enregistrements ayant [PIHTYP] = (1 ou 2) sinon je ne prends pas les enregistrement dont le [PIHTYP] = (1 ou 2)
    Et
    Si l'option {Avoir} = 1 alors je sélectionne les enregistrements ayant le [PIHTYP] = (3 ou 4) sinon je ne prends pas les enregistrements dont le [PIHTYP] = (3 ou 4)

    Donc, en fait, il faudrait que je puisse faire une sélection [PIHTYP] = 1 ou 2 et [PIHTYP] = 3 ou 4 si mes options {Facture} et {Avoir} sont à oui ou 1


    Dois-je faire la liste des cas possibles dans mes critères de sélection ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if {Facture} = 1 et {Avoir} = 1 : 
         [PIHTYP] in [1,2,3,4]
    else if {Facture} = 1 et {Avoir} = 0 :
         [PIHTYP] in [1,2]
    else if {Facture} = 0 et {Avoir} = 0 :
         not [PIHTYP] in [1,2,3,4]
    else if {Facture} = 1 et {Avoir} = 0 :
         [PIHTYP] in [3,4]
    ?
    Merci pour votre aide
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

  4. #4
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 337
    Points : 692
    Points
    692
    Par défaut
    Bonjour,

    En suivant mon raisonnement, j'ai fait une "bidouille" qui fonctionne. Mais se souhaite l'améliorer.
    Voici les critères de sélection que j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ( if {?pihtyp1}=1 and {?pihtyp3} = 1 then {PINVOICE.PIHTYP_0} in [1, 2, 3, 4]
    else if {?pihtyp1}=0 and {?pihtyp3} = 0 then not ({PINVOICE.PIHTYP_0} in [1, 2, 3, 4])
    else if {?pihtyp1}=1 and {?pihtyp3} = 0 then {PINVOICE.PIHTYP_0} in [1, 2]
    else if {?pihtyp1}=0 and {?pihtyp3} = 1 then {PINVOICE.PIHTYP_0} in [3, 4] )
    Mais je souhaite affiner la sélection en séparant les {Facture} avec une option supplémentaire {Facture complémentaire} et affiner aussi les {avoir} avec une option {Avoir/retour}
    Comment faire, maintenant pour gérer les 4 options ?

    N'est-il pas possible, dans Crystal Report de construire une chaine de caractères qui deviendra le critère de sélection ? grâce à un "evaluate()" ou quelque chose y ressemblant ?


    Merci pour vos conseils.
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

  5. #5
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    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 941
    Points : 2 719
    Points
    2 719
    Par défaut
    bonjour, ce sont quoi ces options ?
    Mais je souhaite affiner la sélection en séparant les {Facture} avec une option supplémentaire {Facture complémentaire} et affiner aussi les {avoir} avec une option {Avoir/retour}
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  6. #6
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 337
    Points : 692
    Points
    692
    Par défaut
    Bonjour Luc,

    Ce sont des cases à cocher.
    4 cases pour choisir les type de documents : {Facture}, {Facture complémentaire}, {Avoir}, {Avoir/retour}
    Mais pour commencer, juste {Facture} et {Avoir}. De ces options, je sélectionne ou pas les type de documents.

    En plus, je souhaite aussi mettre des cases à cocher pour gérer le type valide ou non.
    {Validée} et {Non validée}. On sélectionne avec ces deux-ci les documents valides ou non. Le champ est [STA]. Il contient les valeurs [1, 2] pour les non valides et [3] pour les valides.

    Exemple de présentation :
    Nom : options type document.JPG
Affichages : 534
Taille : 11,7 Ko


    est-ce possible de faire une "chaine de critères" ?
    par exemple :
    si {Facture} = 1 alors crit += " and [PIHTYP] in (1,2)"
    si {Avoir} = 1 alors crit += " and [PIHTYP] in (3,4)"
    si {Validé} = 1 alors crit += " and [STA] = 3"
    si {Non validée} = 1 alors crit += " and [STA] in (1,2)"

    et de mettre dans la fenêtre de sélection ?

    En espérant que cela puisse t'aiguiller.
    Cordialement.
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

  7. #7
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    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 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Bonjour,
    En principe, tu peux cascader toutes tes conditions.
    Question annexe tes checkbox te renvoie true ou false en principe...
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  8. #8
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 337
    Points : 692
    Points
    692
    Par défaut
    Bonjour,

    J'ai essayé comme ceci, mais sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (if {?facture}=1 then {PINVOICE.PIHTYP_0 in (1,2)) and
    (if {?avoir}=1 then {PINVOICE.PIHTYP_0} in (3,4))
    Mais cela ne fonctionne pas.

    J'ai essayé aussi (qui va un peu mieux, mais limité) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     (if {Facture}=1 and {Avoir}=1 then {PINVOICE.PIHTYP_0} in [1,2,3,4]
    else if {Facture}=1 and {Avoir}=0 then {PINVOICE.PIHTYP_0} in [1,2]
    else if {Facture}=0 and {Avoir}=1 then {PINVOICE.PIHTYP_0} in [3,4]
    else if {Facture}=0 and {Avoir}=0 then not ({PINVOICE.PIHTYP_0} in [1,2,3,4]))
    Cela va mieux, mais je ne vais pas traiter toutes les possibilités si j'ajoute deux options pour gérer les valeurs 3 et 4

    Je pensai qu'il pouvait exister une autre solution…
    Merci
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

  9. #9
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    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 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Ca peut fonctionner, ce n'est pas un problème de CR..
    regarde dans ta formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (if {?facture}=1 then {PINVOICE.PIHTYP_0 in (1,2)) and
    (if {?avoir}=1 then {PINVOICE.PIHTYP_0} in (3,4))
    tu ressors systematiquement, avec 1,2 ou 3,4.. jamais avec 1,2,3,4.... mets littérallement tes conditions à plat... en les écrivant..
    sinon MP
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  10. #10
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 337
    Points : 692
    Points
    692
    Par défaut
    Citation Envoyé par luc_chivas Voir le message
    Ca peut fonctionner, ce n'est pas un problème de CR..
    regarde dans ta formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (if {?facture}=1 then {PINVOICE.PIHTYP_0 in (1,2)) and
    (if {?avoir}=1 then {PINVOICE.PIHTYP_0} in (3,4))
    tu ressors systematiquement, avec 1,2 ou 3,4.. jamais avec 1,2,3,4.... mais littérallement tes conditions à plat... en les écrivant..
    sinon MP
    Luc,
    si j'écrits en Français le requête, j'ai :
    si {Facture} est cochée, je sélectionne les lignes ayant un type de document facture ou Facture complémentaire sinon je ne m'en occupe pas, de plus,
    si {Avoir} est cochée, je sélectionne les lignes ayant un type de document avoir ou Avoir/retour, sinon je ne m'en occupe pas

    donc "normalement", je devrais avoir les lignes 1,2 ET 3,4 si les deux cases sont cochées, non ?

    J'ai écrit les critères à plat. Je dois donc m'occuper des 2 puissance 2 options (4 lignes de codes).
    Mais si je pousse au plus précis, je devrait gérer les factures, factures complémentaires, les avoirs et les avoirs/retour.
    ce qui fait 2 puissance 4, ce qui m'obligerait à gérer les 16 valeurs possibles… cela devient complétement ingérable.
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

  11. #11
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 202
    Points : 258
    Points
    258
    Par défaut
    Citation Envoyé par PrinceCorwin Voir le message
     
    C'est toi qui n'a pas compris ma réponse ... ma réponse renvoie un booléen ( pour l'expert sélection d’enregistrement ) ma réponse n'essaye pas "de régler la valeur des options" .

    Citation Envoyé par PrinceCorwin Voir le message
     
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    (select {PINVOICE.PIHTYP_0}
    case 1 : {?facture} = 1
    case 2 : {?facture} = 1
    case 3 : {?avoir} = 1
    case 4 : {?avoir} = 1
    default : false)
    and
    (select {PINVOICE.STA_0}
    case 1 : {?Non validée} = 1
    case 2 : {?Non validée} = 1
    case 3 : {?Validé} = 1
    default : false)

  12. #12
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 337
    Points : 692
    Points
    692
    Par défaut
    Bonjour GaelleH,

    Mille excuses ! je n'avais pas compris. C'est la première fois que je vois l'utilisation du case de cette façon.
    Je vais tester cette solution est revenir donner les résultats le plus rapidement possible.

    Merci.
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

  13. #13
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 337
    Points : 692
    Points
    692
    Par défaut
    GaelleH,

    Encore une fois, mille excuses !
    Cela fonctionne parfaitement !
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

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

Discussions similaires

  1. [CR 2008] Critère de sélection selon paramètre
    Par Cryos dans le forum Débuter
    Réponses: 1
    Dernier message: 17/02/2011, 11h11
  2. Sélection selon critère
    Par Tux_xd dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/07/2007, 10h38
  3. Réponses: 2
    Dernier message: 04/07/2007, 20h33
  4. Réponses: 3
    Dernier message: 16/06/2006, 16h17
  5. Sélection sur deux critères
    Par Hbenne dans le forum Access
    Réponses: 2
    Dernier message: 07/04/2006, 16h18

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