|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juin 2002 Messages : 41 ![]() |
Bjr,
Je dois faire un état crystal qui doit mettre des croix dans les jours pris en congés payés, par exemple j'ai comme date pour Sbis CP du 29/07 au 03/08 et si on demande l'état de congés pour 08/2004, il faudrait que je mette une croix pour 01, 02 et 03/2004 donc avoir : 01 02 03 04 05 06 ...... Sbis X X X Y a t il une facon simple pour gerer ce probleme ? D'avance merci |
|
|
00
|
|
|
#2 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Au vu de ton explication, tu ne pourras pas faire une table croisée.
Il te faudra donc un etat avec tes 31 colonnes. Il te faut une formule en détail ou tu alimentes un tableau(31) de chaines. Il te faut un groupe par salarié pour pouvoir gérer plusieurs périodes de congés dans 1 même mois pour 1 même salarié et en début de groupe tu réinitialises le tableau de chaine Et en fin de groupe il te faut 31 formules d'affichage du tableau: Tab(1) pour colonne 1 Tab(2) pour colonne 2 C'est la première solution qui me vient à l'esprit et c'est pas forcément la plus simple mais en tout cas cette possibilité doit fonctionner. En considérant qu'il y ai 2 tables : SALARIE LEFT JOIN SALARIECONGE Bon courage.
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juin 2002 Messages : 41 ![]() |
Quelle serait pour toi la formule de detail ?
|
|
|
00
|
|
|
#4 | ||
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Ci joint une formule qui peut-être grandement optimisée et qui ne colle surement pas tout à fait à ton cas.
Mais c'est exemple de formule detail. En considérant que Tu initialises le tableau en début groupe salarié. La syntaxe est Basic en crystal 10. Code :
Bon courage ....
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juin 2002 Messages : 41 ![]() |
Je viens d'essayer de traduire ta syntaxe basic en syntaxe crystal 8 :
j'ai donc une initialisation de tableau(initab) en entete de groupe salarie : Local StringVar Array b; redim b[31]; Local NumberVar i; je recupere mon jour de debut(daydebprendre) et jour de fin(dayfinprendre) : day({@datedebprendre}) et day({@datefinprendre}) affiche les bonnes valeurs et par ligne salarie j'ai un : alimtab whileprintingrecords; Local StringVar Array b; Local NumberVar i; For i := {@daydebprendre} To {@dayfinprendre} Do ( b[i]:="X" ); Quand je lance mar requete il met Un indice doit etre compris entre 1 et la taille du tableau Pourquoi ? |
|
|
00
|
|
|
#6 | |||||
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Ta variable Tableau doit être de type GLOBAL dans les 2 formules:
Ex Formule Init : Code :
Citation:
Pour le reste c'etait presque bon je pense : Code :
EDIT: Le code était juste, Edit pour rien... Oups
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|||||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : juin 2002 Messages : 41 ![]() |
je n'ai plus d'erreur, c'est ok
Mais maintenant quelle est la fonction qui me permet d'afficher le contenu du tableau, je voudrais le faire une colonne à la fois Merci |
|
|
00
|
|
|
#8 | ||||
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
C'est la partie la plus chiante en fait, il faut que tu crées 31 formules en fin de groupe salarié, 1 pour chaque colonne.
Formule 1: Code :
Code :
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
||||
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : juin 2002 Messages : 41 ![]() |
Ok tout marche tres bien et encore merci
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com