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 XI] Condition ou dans une sélection


Sujet :

SAP Crystal Reports

  1. #1
    Membre habitué

    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 162
    Points : 179
    Points
    179
    Par défaut [CR XI] Condition ou dans une sélection
    Bonjour à tous.

    Voici mon problème, j'ai une table comportant des dates de ventes et des dates d'annulation de ventes.

    J'ai créé deux champs paramètres pour récuperer une date de début et une date de fin pour la sélection de mes enregistrements.

    Quand avec l'expert de sélection je lui indique de sélectioner toutes les ventes comprises entre le (date de début) et le (date de fin), ca marche.
    Si je fait la même chose avec les annulations, car marche aussi.

    Si je veux les enregistrements ayant une date de vente et une date d'annulation comprises dans l'intervale sélectionné ca marche, j'utilise la condition 'and', aucun problème.

    Par contre si je veux les enregistrement ayant une date de vente ou une date d'annulation comprises dans l'interval sélectionné, ca ne marche pas, j'utilise la condition 'or'.

    Pourquoi la condition or ne semble pas fonctionner ?

    Voici la formule utilsée qui ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ({Vente.rcSignature}  >= {?Datedeb} and {Vente.rcSignature} <= {?DateFin}
     or 
    {Vente.rcAnnulation} >= {?Datedeb} and {Vente.rcAnnulation} <= {?DateFin})

  2. #2
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Je ne comprend pas pourquoi cela ne fonctionne pas.
    Au pire, créés deux autres paramètres pour les annulations

  3. #3
    Membre habitué

    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 162
    Points : 179
    Points
    179
    Par défaut
    J'ai surtout l'impression que la condition ou ne fonctionne pas dans une sélection d'enregistrement.

    J'ai tester cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {Vente.rcAnnulation} = Date (2006, 06, 16) or
    {Vente.rcSignature} in {?Datedeb} to {?DateFin}
    Avec cette formule j'ai uniquement une ligne celle correspondant à l'annulation du 16/06/2006

    En inverssant ma formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {Vente.rcSignature} in {?Datedeb} to {?DateFin} or
    {Vente.rcAnnulation} = Date (2006, 06, 16)
    J'ai uniquement les ventes comprisent dans les dates choisis et ma ligne d'annulation du 16/06/2006 n'apparait plus.

    En clair la condition OU n'est jamais prise en compte, d'ailleur quand j'utilise l'expert de sélection et que je fait nouveau, il rajoute systématiquement la condition AND, mais ne propose pas d'autre type de condition.

    Si vous pouviez me confirmer cela, est ce que ca marche pour vous ce genre de condition dans la sélection ?

  4. #4
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Il faudrait réessayer avec ton premier code mais en rajoutant des parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    (({Vente.rcSignature}  >= {?Datedeb} AND {Vente.rcSignature} <= {?DateFin})
     OR 
    ({Vente.rcAnnulation} >= {?Datedeb} AND {Vente.rcAnnulation} <= {?DateFin}))

  5. #5
    Membre habitué

    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 162
    Points : 179
    Points
    179
    Par défaut
    Et bien non cela ne change rien du tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    (({Vente.rcSignature}  >= {?Datedeb} AND {Vente.rcSignature} <= {?DateFin})
     OR 
    ({Vente.rcAnnulation} >= {?Datedeb} AND {Vente.rcAnnulation} <= {?DateFin}))
    Dans ce cas je n'ai que les enregistrements concernant la première condition

    J'inversse ma formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    (({Vente.rcAnnulation} >= {?Datedeb} AND {Vente.rcAnnulation} <= {?DateFin})
    OR
    ({Vente.rcSignature}  >= {?Datedeb} AND {Vente.rcSignature} <= {?DateFin}))
    idem je n'ai que les enregistrements concernant la première condition.

    Mais jamais les enregistrements concernant la premiere ou la deuxième condition ensemble.

    J'ai fait l'essai en créant une table Accès, j'ai la même chose la condition OU n'est pas prise en compte.

  6. #6
    Membre habitué

    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 162
    Points : 179
    Points
    179
    Par défaut
    Juste pour information, est ce que vous utilisez la fonction OU dans vos formules de sélection ? et si oui est ce que cela marche pour vous ?

    merci pour vos réponses.

  7. #7
    Membre habitué

    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 162
    Points : 179
    Points
    179
    Par défaut
    Pour information et pour ceux que cela intéresse.

    J'ai créer la requête SQL en aval par le biais d'une commande et là étrangement avec la même requête, ma condition OU est bien prise en compte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT "Vente"."NomProgramme", "Vente"."NomCommercial", "Vente"."rcSignature", "Vente"."TypeContrat", "Vente"."Montant", "Vente"."rcAnnulation"
    FROM "Vente" "Vente" 
    WHERE 
    (
    ("Vente"."rcSignature" >= {?Datedeb} and 
     "Vente"."rcSignature" <= {?Datefin})
    OR 
    ("Vente"."rcAnnulation" >= {?Datedeb} and 
     "Vente"."rcAnnulation" <= {?Datefin})
    )
    et voici la requête crée par CR en automatique qui ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT "Vente"."NomProgramme", "Vente"."NomCommercial", "Vente"."rcSignature", "Vente"."TypeContrat", "Vente"."Montant", "Vente"."rcAnnulation"
    FROM   "Vente" "Vente"
    WHERE  
    (
    ("Vente"."rcSignature">={d '2006-01-01'} AND 
    "Vente"."rcSignature"<={d '2006-12-31'}) 
    OR 
    ("Vente"."rcAnnulation">={d '2006-01-01'} AND 
    "Vente"."rcAnnulation"<={d '2006-12-31'})
    )
    J'avoue que je vois pas bien la différence....

Discussions similaires

  1. erreur condition if dans une somme d'un etat
    Par laurent.w dans le forum IHM
    Réponses: 6
    Dernier message: 28/12/2006, 15h50
  2. Réponses: 5
    Dernier message: 12/11/2006, 15h47
  3. [SQL]insérer une condition IF dans une requete
    Par freija dans le forum Langage SQL
    Réponses: 1
    Dernier message: 01/09/2006, 20h08
  4. Mettre une condition if dans une requete sql
    Par Sardonnen dans le forum Oracle
    Réponses: 4
    Dernier message: 24/03/2006, 11h25
  5. Condition contenu dans une variable string
    Par tomo0013 dans le forum Access
    Réponses: 6
    Dernier message: 01/12/2005, 14h15

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