Le defi du jour : Categoriser des dates dans une vue

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Le defi du jour : Categoriser des dates dans une vue

Messagepar Ahamay » 09 Oct 2009 à 15:40

Hello....

Allez, pour bien debuter le WE, je vous propose une tite colle... pas bien compliquée, mais bien prise de tête :lol:

En gros : Dans un Form, on a un champ de type date (jusque là rien de spécial).... le but c'est de faire une vue ou les doc seront affichés comme ci dessous :

> Annèe (categoriséé - Tri Décroissant)
> Mois en lettre (categoriséé - Tri décroissant)


*2009
* Octobre
--------- ---------- ---------
--------- ---------- ---------
* Septembre
--------- ---------- ---------
* Aout
--------- ---------- ---------
--------- ---------- ---------
--------- ---------- ---------

*2008
* Decembre
--------- ---------- ---------
--------- ---------- ---------

etc......



le probleme qu'on rencontre, c'est que pour recupérer les mois en toutes lettres, faut dont passer par un @Text() mais du coup, le tri devient alphabetique :?

Bien sur, je veux ce resultat sans toucher au Form (trop facile sinon)... bref, juste en formule de colonne dans ma vue ;)


.... j'paye ma mousse au premier qui me fournira la soluce ;)
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar kochiz » 09 Oct 2009 à 15:51

Bonjour,

Ta première colonne sur ton champ DATE avec une formule sur la partie année:
@Year(@Date(date))
Ta seconde colonne toujours sur le même champ avec une formule sur la partie:
@Select( @Month( Date ) ; "Janvier" ; "Février" ; "Mars" ; "Avril" ; "Mai" ;
"Juin" ; "Juillet" ; "Août" ; "Septembre" ; "Octobre" ; "Novembre" ; "Décembre" )
Patience et longueur de temps font plus que force ni que rage


Version Client 7
Version serveur 7 windows 2000/2003
Avatar de l’utilisateur
kochiz
Empereur des posts
Empereur des posts
 
Message(s) : 1232
Inscrit(e) le : 13 Jan 2005 à 11:01
Localisation : Hérault

Messagepar Ahamay » 09 Oct 2009 à 15:57

J'ai trouvé
v'la ma soluce :

1ere col : Date := @If(@IsAvailable(HeaderDate) & @IsTime(HeaderDate); HeaderDate; @Created);
@Unique(@Text(@Year(Date))) ---- Categorisee - decroissant

2eme col : Date := @If(@IsAvailable(HeaderDate) & @IsTime(HeaderDate); HeaderDate; @Created);
@Year(Date) --- Tri decroissant - col masquée

3eme col : Date := @If(@IsAvailable(HeaderDate) & @IsTime(HeaderDate); HeaderDate; @Created);
@Month(Date)
--- Tri decroissant - col masquée

4em col : Date := @If(@IsAvailable(HeaderDate) & @IsTime(HeaderDate); HeaderDate; @Created);
@Select(@Month(Date);"Janvier";"Février";"Mars";"Avril";"Mai";"Juin";"Juillet";"Août";"Septembre";"Octobre";"Novembre";"Décembre") --- Categorisee - decroissant
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar kochiz » 09 Oct 2009 à 15:59

Une petite mousse :wink: :beer:
Patience et longueur de temps font plus que force ni que rage


Version Client 7
Version serveur 7 windows 2000/2003
Avatar de l’utilisateur
kochiz
Empereur des posts
Empereur des posts
 
Message(s) : 1232
Inscrit(e) le : 13 Jan 2005 à 11:01
Localisation : Hérault

Messagepar Ahamay » 09 Oct 2009 à 16:02

Merci Kochiz, tu viens de pointer du doigt mon esprit profondement tordu.... ca merite 2 mousses.

Ca me rappelle un fameux proverbe shadocks : "Pourquoi faire simple qusnd on peut faire compliqué"

Bon allez j'avoue, je suis paye au nombre de caractères -lol-
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Ahamay » 09 Oct 2009 à 16:04

Arghhh..... non, j'ai raison, avec ta technique, les mois ne sont pas trié en decroissant...... faut bien passer par des colonne cachée..

ca me rassure ;)
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar d.bugger » 10 Oct 2009 à 09:35

Sauf, je pense, le deuxième tri sur Year n'est pas très utile... ni le @Text dans la première colonne... et le @Select est aussi un peu démodé, tu pourrais passer par
months:= "Jan":"Fév":...;
puis
months[@Month(Date)]

Tout pour la réflexion...
Avatar de l’utilisateur
d.bugger
Modérateur
Modérateur
 
Message(s) : 849
Inscrit(e) le : 15 Juin 2006 à 09:19
Localisation : Drôme, France

Messagepar Jérome Deniau » 10 Oct 2009 à 16:05

Généralement on triche on a une colonne qui contient
AAAAMMJJ

Après on fait ce que l'on veut en déc ou croissant (pour année et mois) etc....
Jérome Deniau
 

Messagepar kochiz » 12 Oct 2009 à 10:31

d.bugger a écrit:Sauf, je pense, le deuxième tri sur Year n'est pas très utile... ni le @Text dans la première colonne... et le @Select est aussi un peu démodé, tu pourrais passer par
months:= "Jan":"Fév":...;
puis
months[@Month(Date)]

Tout pour la réflexion...


Je te remercie car j'avais rencontré un problème pour une vue beaucoup de documents et çà plantait sur une année en particulier.
En modifiant ainsi l'erreur est corrigée :wink:

Comme quoi en plus d'être démodé le @Select est perfectible.
Patience et longueur de temps font plus que force ni que rage


Version Client 7
Version serveur 7 windows 2000/2003
Avatar de l’utilisateur
kochiz
Empereur des posts
Empereur des posts
 
Message(s) : 1232
Inscrit(e) le : 13 Jan 2005 à 11:01
Localisation : Hérault

Messagepar kochiz » 12 Oct 2009 à 13:15

Toujours sur ce sujet.... en fait le @Select marche bien mais c'est l'écriture de la formule dans le Designer qui provoque l'erreur :?

Je m'explique:

Quand la formule est sur une même ligne tout va bien mais dès lors que Lotus fait passer à la ligne (en milieu de formule) çà plante de temps en temps.
Le fait de repasser la formule sur une même ligne le problème est corrigé.
Patience et longueur de temps font plus que force ni que rage


Version Client 7
Version serveur 7 windows 2000/2003
Avatar de l’utilisateur
kochiz
Empereur des posts
Empereur des posts
 
Message(s) : 1232
Inscrit(e) le : 13 Jan 2005 à 11:01
Localisation : Hérault

Messagepar Dominux » 12 Oct 2009 à 23:06

Vivement le foisonnement sur DominoArea
(voila c'était histoire de !)
Cordialement,
Olivier (www.dominux.fr et sur Twitter)
Image
Avatar de l’utilisateur
Dominux
Administrateur
Administrateur
 
Message(s) : 1201
Inscrit(e) le : 16 Déc 2004 à 10:56
Localisation : Nantes


Retour vers Développement

cron