|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : avril 2011 Messages : 48 ![]() |
Bonjour,
Pour exécuter un rapport, j'ai besoin de sélectionner plusieurs paramètres dans une listbox. Jusque là tout va bien, j'arrive à consulter mon paramètre dans le rapport mais il faudrait que je puisse le passer à une procédure stockée... Dans mon dataSet appelant ma procédure, lorsque j'essaye de linker un paramètre à un reportParameter, si j'ai coché "Allow multiple values", celui-ci n'apparait plus... Est-ce normal? Dans un deuxième temps, s'il est possible de passer ce paramètre, quel type de paramètre dois-je déclarer dans ma procédure? (SQL Server) Cordialement, Fab |
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : avril 2011 Messages : 48 ![]() |
Bonjour,
J'ai retenté avec la version 3.7.0 de BIRT aujourd'hui (je devais utiliser la 2.5.2 à la base). Cette fois-ci, il m'autorise à linker les deux paramètres mais il me signale qu'il n'utilisera que la première valeur de la liste sélectionnée... Je comprends pas bien l'utilité mais, en tout cas il n'a pas le comportement que j'espérais! Quelqu'un peut-il, s'il vous plait, me dire sous quelle forme je peux envoyer une liste de paramètre à ma procédure? Cordialement, Fab |
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Salut,
Les paramétres multi-valués sont transmis sous forme de tableaux. Si il te signale qu'il n'utilisera que la première valeur de la liste sélectionnée c'est que tu essaies d'affecter ce tableau à un parametre de type "primitif" (string, integer...). 2 solutions: - Ou bien la procédure stockée en question sait gérer un tableau de valeurs, ou encore peut être adaptée pour le faire - Ou bien il faut écrire une fonction javascript transformant ce tableau avant l'envoi à la procédure, dans le format souhaité par la-dite procédure. A titre d'exemple, voici une petite fonction qui transforme un paramètre Birt multi-value de type String en une chaine utilisable dans un "in" SQL : Code :
|
||
|
|
10
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : avril 2011 Messages : 48 ![]() |
Merci de ta réponse, je commençais à désespérer après toutes mes recherches infructueuses!
La deuxième solution me conviendrait bien plus. Mais peux-tu me dire à quel endroit je dois la définir? EDIT: Finalement, j'ai creusé un peu tout seul! C'était la première fois que j'utilisais ce type de fonction, et ça marche impeccable! Un grand merci pour ton aide!! Cordialement, Fab |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Content d'avoir pu t'aider
A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com