|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2007 Messages : 6 ![]() |
Bonjour,
J'ai un rapport qui prend en entrée une date et je dois, si celle-ci n'est pas nulle, selectionner les enregistrements qui ont une date supérieure à la date saisie en entrée. Pour cela, dans ma formule de sélection j'utilise la condition suivante : ... and (If Year({?Begindate}) <> 1899 then {EVENTS.DT_SCH_BDATE} >= {?BeginDate} else 0=0) ... Je précise que les dates nulles sont égale à '30/12/1899' Le probleme est que cette formule ralentie considérablement l'exécution de mon rapport (de l'ordre de 1 à 10...), car crystal rappatrie tous les enregistrements sans tenir compte de la sélection par date, cette sélection étant effectué par crystal ensuite. Existe t-il un moyen d'optimiser cette formule ? J'ai testé les champs sqlexpression, mais ceux-ci n'acceptent pas les test sur des paramètres en entrée. Merci d'avance pour votre aide |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : janvier 2007 Messages : 6 ![]() |
Personne n'a une idée ?
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
cette formule de selection, tu l'ecrit bien dans l'expert selection ?
|
|
|
00
|
|
|
#4 | ||
|
Membre actif
![]() Inscription : août 2004 Messages : 196 ![]() |
Ta formule est cause de lenteur car tu places dans l'expert selection des instructions qui ne peuvent pas être interprétées parla base de données, l'état rappatrie donc l'ensemble des enregistrements de ton modéle de données et applique la sélection sur le poste local. Tu pourrais traduire ta sélection par
Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
Je crois que j'ai un peu le meme probleme.
Dans une table de ma base de données, j'ai un champ lib_sexe qui peut etre egal a "feminin" ou "masculin". J'ai ajouté dans mon rapport un parametre ?Sexe que l'utilisateur peut choisir egal a "masculin", "feminin" ou "indifferent". J'ai donc ensuite rajouté dans l'expert selection la condition suivante sur le champ lib_sexe : Code :
|
||
|
|
00
|
|
|
#6 |
|
Inactif
![]() Inscription : novembre 2006 Messages : 3 569 ![]() |
@ Tatayoyo
A quoi te sert ton paramètre {?sexe} ? |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
le parametre ?sexe, c'est un parametre que les utilisateur du rapport diovent renseigner.
Ils doivent choisir si ils veulent voir afficher sur le rapport les individus de sexe Feminin ou Masculin, ou indifferent (masculin ou feminin). |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : janvier 2007 Messages : 6 ![]() |
Merci pour votre aide, je n ai pas encore eu trop le temps de tester mais des que c'est fait je vous tiens au courant.
|
|
|
00
|
|
|
#9 | ||
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
Je me permet d'insister sur mon probleme, je réexplique de facon claire ce qui me pose probleme :
J'ai dans la table de ma base de donnée des individus "masculin" et "feminin", le champ lib_sexe de cette table varie en fonction. Je veux que l'utilisateur du rapport puisse selectionner les individus suivant le genre, ou choisir de ne pas specifier de genre et selectionner ainsi tous les individus. Il y a donc un parametres genre sur mon rapport que l'utilisateur doit choisir egal a "masculin", "feminin" ou "indifferent" Si l'utilisateur a choisit indifferent, on ne fait pas de selection, on considere tous les enregistrement de la table. Si l'utilisateur a choisi "masculin" ou "feminin", on selectionne les enregistrement de la table en fonction. Dans l'expert selection, j'ai donc colé la commande suivante et je me demande si elle ne ralentit pas l'execution de mon rapport. Code :
{?sexe} est le parametres que specifie l'utilisateur du rapport |
||
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
personne ?
|
|
|
00
|
|
|
#11 |
|
Inactif
![]() Inscription : novembre 2006 Messages : 3 569 ![]() |
Bonjour,
Après maintes réfléxions, je pense que juste ça doit suffire :En effet, si l'utilisateur ne renseigne pas {?Sexe}, l'état renverra toutes les valeurs. Tiens nous au courant ! |
|
|
00
|
|
|
#12 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
merci de ta reponse.
J'ai essayé, ca ne semble pas fonctionner. qu'est ce que tu appelles "ne pas renseigner le parametre" ? |
|
|
00
|
|
|
#13 | |
|
Inactif
![]() Inscription : novembre 2006 Messages : 3 569 ![]() |
Citation:
|
|
|
|
00
|
|
|
#14 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
je ne comprends pas bien.
Ne pas renseigner le champ ?sexe, ca revient a lui donner comme valeur chaine vide non ? Et dans ce cas ma condition {matable.lib_sexe} = {?Sexe} ne selectionne rien du tout comme enregistrement. Si je créé un choix de reponse de plus pour mon parametre avec comme description "indifferent" et comme valeur chaine vide ou "*", c'est le meme probleme. |
|
|
00
|
|
|
#15 |
|
Inactif
![]() Inscription : novembre 2006 Messages : 3 569 ![]() |
Ou alors créer 2 paramètres, comme des bornes...
{?sexedeb} et {?sexefin} Ainsi tu peux faire de Masculin à Masculin, de Féminin à Féminin ou de Masculin à Féminin... |
|
|
00
|
|
|
#16 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
et du coup pour l'utilisateur ca reviendrait a quoi ?
deux champs de parametres a renseigner ? genre ca : Voulez vous considerer le public Masculin ? Oui ou Non Voulez vous considerer le public Feminin ? Oui ou Non |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com