crystal report - sql pour tester valeur d'un champ

crystal report - sql pour tester valeur d'un champ - SQL/NoSQL - Programmation

Marsh Posté le 22-12-2015 à 17:33:47    

Bonjour à tout le monde,
 
j'ai une question sur un rapport crystal.
 
dans l'outil qui vient alimenter ma BDD, les users ont la possibilité de remplir (ou non) un champ adresse.
 
dans mon rapport, j'aimerai tester SI le champ optionnel est rempli ALORS remplir le champ du rapport avec cette saisie SINON remplir avec une valeur par défaut.
 
sauf que voila, je ne sais pas comment entrer ma requete SQL dans la formule de ce champ....
 
pouvez vous m'aider ?
 
 
 
 
j'ai testé:
 
if IsNull ( (select ma_table.adresse from ma_table where ma_table.caracteristique=10))
then "VALEUR PAR DEFAUT"
else (select ma_table.adresse from ma_table where ma_table.caracteristique=10)
 
 
mais ça ne va pas...

Reply

Marsh Posté le 22-12-2015 à 17:33:47   

Reply

Marsh Posté le 29-12-2015 à 09:30:48    

Bonjour, peut-être as-tu déjà trouvé la solution depuis le temps. Mais, dans le cas contraire, je te propose les miennes :
 
- Tu peux faire ce travail à partir de sql server si tu utilises cette bdd, et que ta source est une vue ou une procedure stockée :
 

select isnull(ma_table.adresse,'VALEUR PAR DEFAUT') from ma_table where ma_table.caracteristique = 10


 
 
- Si tu veux passer par un champs de formule crystal, voici le code :  
 


if isnull({ma_table.adresse}) = true then 'VALEUR PAR DEFAUT' else {ma_table.adresse};


 
 
A noter que, à priori, ta clause where n'a rien à faire dans un champs de formule crystal.
Tu peux éventuellement passer par l'expert sélection.
 
Personnellement, je préfère faire ce type de sélection à l'aide d'une procédure stockée. Par expérience, il est préférable de mâcher au maximum le travail pour crystal reports. Les performances s'en ressentent.
 


---------------
I drive at 88mph ! Just in case...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed