datums vergelijken in format parameter

0 views
Skip to first unread message

gerard

unread,
Oct 29, 2008, 11:52:43 AM10/29/08
to Smartsite5
Beste mensen,

Ik zou graag het volgende willen: Ik heb enkele macro's met een sql
query die tabellen geven van een contenttype. In een van de kolommen
van de tabel zit een datum veld, ctspecificdate2. Nu wil ik graag de
td waarin deze datum toont afhankelijk van een voorwaarde, een
background color laten geven. Dit door met een se text de class te
laten veranderen afhankelijk van de voorwaarde. Het gaat me nu om die
voorwaarde waar ik niet goed uit kom. Ik wil de datum uit het veld
ctspecificdate vergelijken met de actuele datum. En dit binnen de
format parameter. Zie onderstaande.

<format><![CDATA[<tr><td>%nr% </td><td>%title%</td><td>%fullname%</td>
<td class="<se criteria="[curdate]>'%ctspecificdate2%'">select</se>"></
td></tr>]]></format>
<footer><![CDATA[</table>]]></footer>
<dateformat>d-m-yyyy</dateformat>
Even nog ter toelichting: [curdate] komt uit de sytemdate. Ik krijg
steeds wisselende inconsequente resultaten als ik in de vergelijking
van de se, > of < of = gebruik. Wat ik ook niet helemaal kan volgen
is dat de date in de dbase staat genoteerd als: m/d/y en via een
macro sql ( zonder dateformat) d-m-y. Ik kan me voorstellen dat het
format van de curdate en datefield verschillen?
Hoop dat het zo een beetje duidelijk is.
Doe ik iets fout, of kan dit gewoon niet werken?

zie jullie reacties graag tegemoet,
met vriendelijke groet,
Gerard

Arjan Gijze

unread,
Oct 29, 2008, 11:57:49 AM10/29/08
to Smartsite5
Gerard,

De oplossing die jij hier geeft, gaat inderdaad niet werken. De <se
macro's in de format worden eerder uitgevoerd dan de format en dus de
sqlquery macro zelf. Dit gaat dus nooit werken. Hiervoor moet je iets
slims verzinnen.

Het bepalen van de class kun je beter in de query zelf doen. Dit kun
je doen door gebruik te maken van CASE WHEN..

Ik hoop dat ik je even geholpen heb.

Groeten,
Arjan Gijze

Johan Kanselaar

unread,
Oct 29, 2008, 12:17:41 PM10/29/08
to Smart...@googlegroups.com
Precies bijvoorbeeld:

select nr, title
      , case when showfrom > getdate() then 'red' when showfrom < getdate() then 'blue' else 'green' as color
from vwcontent

dan in je format: <td class="%color%">

zet de caching van de pagina op 6-8 uur, en je hebt een overzichtje van bijv events die verlopen zijn, vandaag zijn of in de toekomst liggen....

Johan

gerard

unread,
Oct 29, 2008, 1:40:08 PM10/29/08
to Smartsite5
Ahhh ja, nu jullie dit zo uitleggen...... oke enorm bedankt weer voor
de snelle antwoorden, ga er mee aan de slag.
met hartelijke groet,
Gerard

On 29 okt, 17:17, "Johan Kanselaar" <johankansel...@gmail.com> wrote:
> Precies bijvoorbeeld:
>
> select nr, title
>       , case when showfrom > getdate() then 'red' when showfrom < getdate()
> then 'blue' else 'green' as color
> from vwcontent
>
> dan in je format: <td class="%color%">
>
> zet de caching van de pagina op 6-8 uur, en je hebt een overzichtje van bijv
> events die verlopen zijn, vandaag zijn of in de toekomst liggen....
>
> Johan
>
> > > Gerard- Tekst uit oorspronkelijk bericht niet weergeven -
>
> - Tekst uit oorspronkelijk bericht weergeven -

gerard

unread,
Nov 3, 2008, 3:24:22 PM11/3/08
to Smartsite5
Johan, Arjan,

wil jullie nog even laten weten dat jullie oplossing perfect werkt.
thxs maar weer.
> > - Tekst uit oorspronkelijk bericht weergeven -- Tekst uit oorspronkelijk bericht niet weergeven -
Reply all
Reply to author
Forward
0 new messages