|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
Bonjour,
Dans mon état Crystal, j'ajoute une "commande" SQL dans l'expert base de données. Cette requête contient un filtre where que j'applique sur une variable Crystal, comme ceci : Code :
WHERE matable.monchamp = '{?ma_variable}' Je précise que je ne peux pas substituer ce filtre dans ma commande SQL par un filtre dans l'expert sélection, je suis obligé de poser le filtre directement dans la commande SQL. |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : juin 2008 Messages : 96 ![]() |
En tout cas , dans l'expert sélection:
{matable.monchamp} in {?paramètre_de_l'état} fonctionne très bien quand les valeurs sont séparées par des virgules ... sans doute qu'en remplacant = par in dans ta requête et en séparant tes valeurs pas des virgule ca fonctionnera |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
Merci pour ta réponse.
J'ai essayé les deux syntaxes Code :
WHERE matable.monchamp = '{?ma_variable}' Code :
WHERE matable.monchamp IN ('{?ma_variable}') |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
3 mois après la bataille, je vous livre la solution que j'ai obtenue sur le forum Business Objects Board.
Le problème est que à l’intérieur d’une commande SQL, il est impossible de faire un : si {?param} est un paramètre à valeur multiple. Pour contourner ce problème, voici comment procéder, en utilisant un sous rapport : Dans notre état principal, on n’ajoute pas la commande SQL, on créer juste le paramètre à valeur multiple, puis on créé une formule comme suit : Code :
'''' + JOIN ( {?param} , ''',''' ) + '''' Puis on crée un sous rapport qu’on insère dans notre rapport principal, et on passe à ce sous rapport comme paramètre la formule qu’on a créé. Dans ce sous rapport, ce paramètre {?param_sous_rapport} peut être utilisé dans une commande SQL, et on récupère ainsi bien dans le in toutes les valeurs multiples saisies. Code :
WHERE mon_champ IN {?param_sous_rapport} |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : avril 2004 Messages : 894 ![]() |
Sous Oracle ??
__________________
Luc
|
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
Oui, sous Oracle, il est bon de le préciser.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com