Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports
Crystal Reports Forum d'entraide sur Crystal Reports. Avant de poster --> FAQ Crystal, Tutoriels Crystal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/02/2008, 11h11   #1
Membre Expert
 
Homme
Développeur informatique
Inscription : juin 2004
Messages : 1 193
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2004
Messages : 1 193
Points : 1 417
Points : 1 417
Par défaut [CRXI] Pb de gestion du "OR"

Bonjour à tous,

Lorsque je met la formule de sélection suivante, mon édition est vide (mais la requête SQL fonctionne bien) :
({t_chantiers.CHT_DateFin}>=Datetime(2999,01,01,0,0,0) or isnull({t_chantiers.CHT_DateFin}))

Vous allez me dire, c'est étrange comme formule... petite explication :
Cette formule est censée me permettre de récupérer tous les chantiers qui n'ont pas de date de fin.

Cette formule est créée par une application externe qui ensuite l'envoie à l'édition.

Si dans l'édition, je réduit à isnull({t_chantiers.CHT_DateFin}), j'ai bien le bon résultat.
Dés que je rajoute {t_chantiers.CHT_DateFin}>=Datetime(2999,01,01,0,0,0), l'édition ne me retourne plus rien !

Pour info, ce filtre {t_chantiers.CHT_DateFin}>=Datetime(2999,01,01,0,0,0) ne me ramènera jamais rien mais j'en ai besoin pour l'application externe.

Quelqu'un aurait une idée ?

Merci
Laurent

Edit :
Question liée : Est-il possible de rédéfinir le contenu de la formule de sélection avant la lecture des enregistrements ?
Si oui, une ch'tite méthode ? et ça réglera mon problème ci-dessus
Lo² est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 10h23   #2
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
il faut intervertir les conditions...
Code :
isnull({t_chantiers.CHT_DateFin})) OR ({t_chantiers.CHT_DateFin}>=Datetime(2999,01,01,0,0,0)
Lorsqu'un champ est null, la première partie de ta condition ne peut être vérifiée et l'interprétation de la formule s'arrête.

(enfin par expérience...)

A+
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 10h47   #3
Membre expérimenté
 
Avatar de kikidrome
 
Inscription : décembre 2004
Messages : 841
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 841
Points : 563
Points : 563
Citation:
Envoyé par say Voir le message
il faut intervertir les conditions...
Code :
isnull({t_chantiers.CHT_DateFin})) OR ({t_chantiers.CHT_DateFin}>=Datetime(2999,01,01,0,0,0)
Lorsqu'un champ est null, la première partie de ta condition ne peut être vérifiée et l'interprétation de la formule s'arrête.

(enfin par expérience...)

A+
super intéressant comme remarque.. çà peut expliquer certains comportements bizarres
__________________
Les paysages sont plus beaux quand on transpire.
Olaf Candau
kikidrome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 10h56   #4
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
c'est pas faux!!!
et cela semble toute logique
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 11h02   #5
Membre expérimenté
 
Avatar de kikidrome
 
Inscription : décembre 2004
Messages : 841
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 841
Points : 563
Points : 563
Citation:
Envoyé par say Voir le message
c'est pas faux!!!
et cela semble toute logique
oui et en fait, j'ai pris çà en compte car j'écris mes formules comme çà :
Code :
1
2
3
if isnull(mon champ) then 
          if mon_autre_champ ="ccc" then ....
          else  ...
__________________
Les paysages sont plus beaux quand on transpire.
Olaf Candau
kikidrome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 13h52   #6
Membre Expert
 
Homme
Développeur informatique
Inscription : juin 2004
Messages : 1 193
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2004
Messages : 1 193
Points : 1 417
Points : 1 417
Merci say de ta réponse, mais je ne trouve pas ça "logique" dans le sens où dans un requêteur SQL, cela fonctionne très bien... et je dirais heureusement

et sinon en effet, j'utilise la même méthode que Kiki pour les autres cas de figure.

Merci de votre aide
lo²
Lo² est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 14h09   #7
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
sauf qu'on est pas dans un requêteur, mais dans un langage interprété...

bonne continuation
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 14h13   #8
Membre Expert
 
Homme
Développeur informatique
Inscription : juin 2004
Messages : 1 193
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2004
Messages : 1 193
Points : 1 417
Points : 1 417
oui je sais mais alors le "OR" fonctionne dans quel cas ?
Lo² est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 14h19   #9
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
ben il fonctionne dans tous les cas, après c'est un problème d'ordonnancement.
enfin, tout ça c'est par expérience...

ça n'a pas réglé ton soucis?
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 14h26   #10
Membre Expert
 
Homme
Développeur informatique
Inscription : juin 2004
Messages : 1 193
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2004
Messages : 1 193
Points : 1 417
Points : 1 417
Le fait d'inverser les conditions fonctionne mais malheureusement je ne peux utiliser cette méthode.

Au final, on a dupliqué l'édition pour mettre "en dur" la condition dans l'édition et non pas l'envoyer par une application externe.
Lo² est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h19.


 
 
 
 
Partenaires

Hébergement Web