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 26/03/2007, 17h30   #1
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
Par défaut [XI] Utilisation de l'instruction IIF

Bonjour,

La formule suivante :

Code :
Iif ( {#total_cumulé} is null, "cas1", "cas2" )
Me sort l'erreur que voici : "caractere ) manquant "

{#total_cumulé} est un champ de total cumulé qui s'incremente selon certaines conditions, et dans certains cas il n'est pas incrementé du tout (pas egal a 0, mais vide)

j'ai essayé les choses suivante, aucune ne fonctionne

Code :
1
2
3
Iif ( ({#total_cumulé}) is null, "cas1", "cas2" )
Iif ( ({#total_cumulé} is null), "cas1", "cas2" )
Iif ( {#total_cumulé} =0, "cas1", "cas2" )
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 17h35   #2
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 20
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 20
Points : 14
Points : 14
Essai ca : "Iif ( {Clients.Code postal} = "null", "cas1", "cas2" )" ca devrait marcher.
chrischros10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 17h42   #3
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
Non, car {#total_cumulé} est de type nombre.
Merci de ton intervention
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 17h56   #4
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
bonsoir,

Isnull se place devant le champ :

Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 17h57   #5
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
bonjour, essaie un truc du genre :

Code :
Var = iif(IsNull({#total_cumulé}), "cas1", "cas2" )
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 18h36   #6
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
ok, merci !
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 13h50   #7
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
je remarque quelque chose de vraiment bizarre :

Si je place le code suivant :
Code :
1
2
3
4
5
6
7
8
9
 
numbervar nb:=5;
stringvar chaine1;
stringvar chaine2:="0";
 
//nb:=({#totalcumule1}/{#totalcumule2})*1000;
chaine1 := Totext(nb);
 
Iif ( isnull({@totalcumule1}), chaine2, chaine1  )
Pas de probleme, il m'affiche des "0" pour les lignes ou {@totalcumule1} est vide et "5" pour les lignes ou {@totalcumule1} n'est pas vide.
PAr contre, si je met ceci :

Code :
1
2
3
4
5
6
7
8
9
 
numbervar nb:=5;
stringvar chaine1;
stringvar chaine2:="0";
 
nb:=({#totalcumule1}/{#totalcumule2})*1000;
chaine1 := Totext(nb);
 
Iif ( isnull({@totalcumule1}), chaine2, chaine1  )
La il m'affiche bien le resultat de ({#totalcumule1}/{#totalcumule2})*1000 sur les lignes ou {@totalcumule1} n'est pas nul, par contre il ne m'affiche rien du tout sur les ligne ou {@totalcumule1} est vide, il ne m'affiche plus le "0"
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 14h02   #8
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
Parcequ'il plante sur ton calcul de nb si total cumule est null ...
Il ne faut calculer nb que si ton total cumule n'est pas null
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 14h20   #9
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
effectivement.
merci
tatayoyo 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 01h04.


 
 
 
 
Partenaires

Hébergement Web