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 01/07/2003, 12h38   #1
Membre confirmé
 
Avatar de Djob
 
Inscription : août 2002
Messages : 215
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 215
Points : 217
Points : 217
Par défaut [CR9] Bug avec les champs à valeur vide ?

Bonjour à tous,
je suis nouveau ici.

Je suis confronté à un bug , dans le designer de crystal,:

Conditions environnementales :
----------------------------------
J'uitilise Crystal Report 9.2.0.448

J'ai 2 champs Nom et prenom, de type string tous les deux,
mes tables proviennent de fichiers texte , avec une connection ODBC
(Microsoft Text Driver )


Le bug :
--------

Quand je crée une formule (pour un champs de formule)
pour par exemple concatener Prenom + Nom (ex :Toto titi),
que ce soit dans le langage de formule de crystal, ou dans le langage Basic ,
Si la valeur du champs Prenom = "" ( valeur chaine vide) ou Prenom = " "
( un ou plusieurs espaces ) , alors mon champs n'affiche plus rien alors qu'il devrait afficher le Nom , et si Prenom != "" ( different de vide ) ,
Alors la chaine concaténée "toto Titi" s'affiche correctement ...

Les exemples de formule (de champs de formule )
-------------------------------------------------------
en formule :
Code :
1
2
3
4
5
6
7
8
9
 
 
LOCAL StringVar s1;
LOCAL StringVar s2;
LOCAL StringVar s3;
s1 := {MaTable.prenom}
s2 := {MaTable.nom}
s3 := s1 +"  "+ s2 ;
s3;
=> n'affiche rien...( quand prenom = "")

en basic :

Code :
1
2
3
4
5
6
 
Dim s1,s2,s3 AS String
s1 = {MaTable.prenom}
s2 = {MaTable.nom}
s3 = s1 + " " + s3
formula = s3
=> n'affiche rien...( quand prenom = "")

plus bizarre :

Code :
1
2
3
4
5
6
 
Dim s1,s2,s3 AS String
s1 = {MaTable.prenom}
s2 = {MaTable.nom}
s3 = s2
formula = s2
=> n'affiche rien ...( quand prenom = "") : ( ici meme pas de concatenation)

tandis que :

Code :
1
2
3
4
5
 
Dim s2,s3 AS String
s2 = {MaTable.nom}
s3 = s2
formula = s2
=> affiche bien le nom ...

et

Code :
1
2
3
4
5
 
Dim s1,s3 AS String
s2 = {MaTable.prenom}
s3 = s2
formula = s2
=> affiche bien le prenom ..


Est ce que quelqu'un a rencontré ce problème ?
Il y t'il une façon propre de le contourner ?
(Cela ne vient pas du driver texte : j'ai essayé sur la base d'origine avec un driver ODBC approprié )


Merci d'avance de vos reponses...
et Merci au personnes qui maintiennent ce forum.
Djob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2003, 16h00   #2
Membre confirmé
 
Avatar de Djob
 
Inscription : août 2002
Messages : 215
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 215
Points : 217
Points : 217
Par défaut [resolu]

Resolu !

il manquait un test IsNull...
Djob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2003, 13h03   #3
Invité de passage
 
Inscription : juillet 2003
Messages : 1
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 1
Points : 1
Points : 1
Par défaut champ à valeur vide

J'ai vu ton message du 1er juillet et j'ai le même pb que toi. Tu dis avoir trouvé la solution en faisant un test "IsNull'.
: Est-ce que tu peux me dire comment tu as fait?

Merci d'avance pour ton aide...
tigui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2003, 21h21   #4
Membre confirmé
 
Avatar de Djob
 
Inscription : août 2002
Messages : 215
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 215
Points : 217
Points : 217
En gros , en langage Crystal ça fait :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
LOCAL StringVar s1; 
LOCAL StringVar s2; 
 
IF ( isNull(MaTable.Prenom) then s1:=""
else s1 := MaTable.Prenom;
 
 
IF ( isNull(MaTable.Prenom) then s2:=""
else s2 := MaTable.Nom;
 
 
s1+s2;
Djob 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 10h19.


 
 
 
 
Partenaires

Hébergement Web