Page 1 sur 1

Recherche sur une plage de date

MessagePublié: 14 Jan 2010 à 17:15
par jfarissi
Bonjour,

J'ai deux champs list qui affiche la date sous forme mm/yyyy dans un dialogue box, depuis ce dernier je lance une recherche dynamique sur le champ (le max de $revesion).

j'ai fais la formule suivante :

ChampDBDE:

formula = formula + { & @Text(@Month(@Subset($Revisions;-1)))+"/"+@Text(@Year(@Subset($Revisions;-1))) >"} + docDlg.ChampDBDE(0)+{"}

ChampDBA:

formula = formula + { & @Text(@Month(@Subset($Revisions;-1)))+"/"+@Text(@Year(@Subset($Revisions;-1))) <"} + docDlg.ChampDBA(0)+{"}

est ce que ça va marche ??

Merci

MessagePublié: 15 Jan 2010 à 10:14
par stloje
Je ne pense pas que ça va marcher pour deux raisons.

1- Je ne me souvient plus, mais je pense que les champs systèmes (avec un $ devant) ne sont pas accessible en lecture à partir de formules. Utilise plutôt la fonction @Modified;
2- La comparaison va se faire en format texte et non en format date. Il y a un risque que les mois ne soient pas bien comparés. @Month retourne une valeur numérique de 1 à 12 et non de 01 à 12. Le mois de janvier (1), octobre (10), novembre (11) et décembre (12) vont peut-être passer avant les autres puisqu'ils sont inférieurs à tous les autres mois (2, 3, 4, ...)

1/2008 < 11/2008 < 2/2008

MessagePublié: 15 Jan 2010 à 10:43
par jfarissi
je veux que la comparaison soit par date y a t-il une solution ??

MessagePublié: 15 Jan 2010 à 10:45
par Michael DELIQUE
salut

la référence concernant les dates => https://www.martinscott.com/DesignLibra ... count=5000

MessagePublié: 15 Jan 2010 à 17:35
par jfarissi
Merci la solution été de travaille de la façon suivante :

formula = formula + { & @modified >= @date([}+Cst(docDlg.CD(0))+{]) & @modified <= @date([}+Cstr(docDlg.CF(0))+{])}

et ça marche[syntax="apache"][/syntax]