|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2007 Messages : 9 ![]() |
J'ai parcouru ce forum et d'autres mais je reste perplexe sur la possibilité d'avoir systématiquement le choix * (ou #) dans les invites (en version BO 6.5) pour sélectionner tout.
Tout ce que j'ai pu voir concerne un @prompt particulier dans lequel on ajoute le choix %, mais il faut le refaire à chaque fois qu'on fait une invite. J'ai un code qui devait me donner la possibilité d'entrer un jocker dans mes listes d'invite (pour sélectionner toutes les valeurs) mais je ne sais pas quoi en faire (un développeur de notre prestataire m'avais donné ça) decode(greatest@prompt('Project Name or #','A','Project/Project Name',multi, free),'#','#',S_PROJ.NAME) in @prompt('Project Name or #','A','Project/Project Name',multi,free) Merci de me dire ce que vous en pensez, je sèche... |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 815 ![]() |
Si j'ai bien saisi ton message, tu veux ajouter une valeur à selectionner par l'utilisateur dans la liste de valeur d'une invite. Cela n'a pas vraiment de sens fonctionnel car la valeur n'est pas présente en base mais tu veux tout de même la voir dans la liste de valeurs possibles (c'est ambigüe). Enfin si tu veux le faire quand même ton code me semble OK.
Sinon, sache que le caractère % est le caractère de BO qui permet de "selectionner toutes les valeurs". Et ceci doit forcément être connu des utilisateurs BO. Ils ont logiquement dû être formé à cela. Ils savent donc que pour avoir le choix de ce caracère %, il faut qu'ils fassent une condition "x égal à 'ton invite'" OU "X correspond au modèle 'ton invite'" Et si c'est une condition prédéfinie tu peux utiliser le code que j'ai déjà donné dans un message auparavant : @Select(ACTIVITES\code_activité) IN @Prompt ('Choix activités (% pour toutes)', 'A', 'ACTIVITES\code_activité', MULTI, FREE) or '%' in @Prompt ('Choix activités (% pour toutes)', 'A', 'ACTIVITES & SOUS-ACTIVITES\code_activité', MULTI, FREE) POur utiliser le code, il faut le faire dans le Designer, créer une condition et taper le code dans la zone WHERE... Si c'est la flème des utilisateurs de taper à chaque fois le %, sache que la dernière valeur saisie dans une invite d'un rapport reste en mémoire pour le rafraichissement suivant. |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : janvier 2007 Messages : 9 ![]() |
J'avais bien vu le code pour la condition prédéfinie mais je ne me vois pas créer autant de conditions que possible pour répondre à toutes les possibilités (donner le choix % sur toutes les invites sans restrictions).
Par contre, et ça m'a déjà interpelé, quand tu dis: Citation:
et Citation:
code_client Egal à Invite ('Entrez le code client :') Ce qui me ramène à ma remarque précédente, le caractère % ne fait rien chez moi en réponse à une invite. Merci pour ta réponse, je vais tester ça en espérant ne pas faire une usine à gaz (si la compréhension de % était juste un problème de config par exemple). |
||
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2006 Messages : 37 ![]() |
Bonjour,
En fait l'utilisation du % s'utilise bien avec : correspond au modèle Dans ton exemple, ça donne : code_client Correspond au modèle Invite ('Entrez le code client :') |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 10 ![]() |
Bonjour,
Le caractère % n'est pas interprété par BO mais par la BDD. X egal à '%' ne ramene (en general) jamais rien sauf si une ligne contient ce caractère... (et encore j'ai des doutes) en revanche, X correspond au modèle '%' ramène toutes les valeurs car dans ce cas c'est un 'like' qui est utilisé et le caractère % est interprété par la base comme une séquence quelconque. Ceci dit, cela ne repond toujours pas à ta question initiale... désolé |
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 815 ![]() |
oui j'allais le dire...le % s'utilise avec "correspond au modèle", je n'ai pas été très explicite là dessus !!
|
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 10 ![]() |
Ashaar,
(J'ai répondu sans voir ta réponse) Le problème avec ce code (au moins en v5.1.x) est que ta liste de valeur proposée à l'utilisateur est à selection unique (MONO)... |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : janvier 2007 Messages : 9 ![]() |
Merci à tous, ça marche à merveille avec le caractère % dans une invite de type 'Correspond au modèle'.
Pour complément d'information, je gère la possibilité de faire en même temps un choix multiple en faisant une union de 2 requêtes, l'une avec: Truc correspond au modèle Invite('Quel truc? :') et l'autre Truc dans liste Invite('QuelS TrucS') Comme ça, on peut dans l'invite au singulier mettre % pour toutes les valeurs (en prenant un choix quelconque sur l'invite au pluriel). Et inversement ne garder que x valeurs de l'invite au pluriel en prenant une de ces valeurs dans l'invite singulier. C'est exactement ce à quoi je voulais arriver. |
|
|
00
|
|
|
#9 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 815 ![]() |
Pour info, tu n'as pas besoin de faire d'union qui est très couteuse en terme de ressources.
Tu peux directement faire comme j'ai dit dans un message précédent : - tu fais ta condition avec "x correspond au modèle invite "Quels trucs ?" et tu ajoutes une autre ligne de condition avec comme opérateur logique le OU (il faut cliquer sur le ET pour le changer en OU) "dans liste invite "Quels trucs ? ça te donne à l'écran un truc du style x correspond au modèle invite "Quels trucs ?" OU x dans liste invite "Quels trucs ?" Et au final tu n'as qu'une invite avec le choix de plusieurs valeurs ou la possibilité de mettre % pour toutes. |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : janvier 2007 Messages : 9 ![]() |
C'est vrai au détail prêt qu'il faut 2 invites différentes sinon on ne pourra entrer qu'une valeur et pas une liste finie 'truc1;truc2'
x correspond au modèle invite "Quel truc ? (% pour tous)" OU x dans liste invite "Quels trucs ? (éléments séparés par ; )" |
|
|
00
|
|
|
#11 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 815 ![]() |
Exact !
En revanche le code que j'ai donné précédemment permet de n'avoir qu'une seule invite et de mettre soit % soit de selectionner plusieurs valeurs. Mais pour cela il faut passer par une condition prédéfinie dans le designer. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com