getallen in criteria

1 view
Skip to first unread message

gerard

unread,
Dec 18, 2008, 11:09:12 AM12/18/08
to Smartsite5
Beste mensen,
ik kom niet goed uit het volgende. Heb een aantal se text met criteria
(zie hieronder) waar getallen worden vergeleken. Ik pas het toe om
bepaalde info wel/niet te tonen bij cursusaanmeldingen. Bijv. De
aanmeldlink verdwijnt als de cursus het max aantal inschrijvingen
heeft bereikt.
Het werkt uitstekend bij getallen onder de 10. Daarboven klopt de
vergelijking niet meer. Ik heb getallen zowel vanuit een varchar als
integer veld geprobeerd.
Wat doe ik fout? En hebben jullie een oplossing?

alvast dank gerard

<table>
<se type="text" criteria="[aantal]<'[maxaantal]'">
<parameters>
<value>
<tr><td class="green">Nog [open] plaats(en) beschikbaar</td></tr>
</value>
</parameters>
</se>

<se type="text" criteria="[aantal]<'[maxaantal]'">
<parameters>
<value>
<tr><td><p class="actionMT"><a href='[item]=53903&amp;parent=
[id]'>Aanmelden</a></p></td></tr>
</value>
</parameters>
</se>

<se type="text" criteria="[aantal]>='[maxaantal]'">
<parameters>
<value>
<tr><td class="red">Volgeboekt</td></tr>
</value>
</parameters>
</se>
</table>

Johan Kanselaar

unread,
Dec 18, 2008, 11:26:38 AM12/18/08
to Smart...@googlegroups.com
Gerard,

In:
criteria="[aantal]>='[maxaantal]'"
betekenen de single quotes dat je een string bedoelt.

werkt:
criteria="[aantal]>=[maxaantal]"
beter?

En anders werk dit wel:
if="clng([aantal])>=clng([maxaantal])"

Maar die is trager dan criteria om dat voor de IF eerst een vbscript runtime wordt opgestart.
Als je veel criteria hebt of je criteria worden ingewikkeld kan je beter een se type vbscript uitvoeren die de juiste output levert.

In plaats van drie Se type text met langzame criteria heb je dan 1 vbscriptje met een snelle case statement. Is alleen snel als het niet de eerste keer is in het renderproces (rendertemplate + pagina) dat je se type script  gebruikt, omdat de eerste keer ook de vbscript runtime nog geladen moet worden.

Ter vergelijking: ik heb een keer 1 vbscriptje met case statement gemaakt die er 8-12ms over deed om een aantal buffers en wat output te genereren ter vervanging van 4 se type texts van ieder 20-30 milliseconden.
Echter mocht ik op een pagina zitten waar ik nog niet eerder een vbscript had gebruikt dan duurde het vbscript 124 ms.

Succes!

Johan


2008/12/18 gerard <ger...@gdr.demon.nl>

gerard

unread,
Dec 18, 2008, 11:32:42 AM12/18/08
to Smartsite5
Hoi Johan,

als altijd ben je weer supersnel. Ik ga het zonder de quotes nog evn
proberen zo, maar dacht dat ook niet goed werkte. Ik ben niet goed in
vbscript vandaar deze oplossing. Ik gebruik deze 3 se op een
rendertemplate.
Ik ga ff eea testen, en alvast weer thxs!
> > </table>- Tekst uit oorspronkelijk bericht niet weergeven -
>
> - Tekst uit oorspronkelijk bericht weergeven -

gerard

unread,
Dec 18, 2008, 11:42:01 AM12/18/08
to Smartsite5
Hey Johan
het werkt door de single quotes weg te laten. Helemaal niet meer bij
nagedacht dat het een string werd...
nogmaals thxs voor je goede en snelle oplossing, ik kan weer verder!
groet gerard

On 18 dec, 17:26, "Johan Kanselaar" <johankansel...@gmail.com> wrote:

Johan Kanselaar

unread,
Dec 18, 2008, 11:46:11 AM12/18/08
to Smart...@googlegroups.com
graag gedaan!

2008/12/18 gerard <ger...@gdr.demon.nl>
Reply all
Reply to author
Forward
0 new messages