Voorwaardelijke opmaak formulier

Status
Niet open voor verdere reacties.

nwametze

Gebruiker
Lid geworden
18 dec 2009
Berichten
67
Ik loop tegen een probleem aan bij het schrijven van een expressie voor de voorwaardelijke opmaak van een veld in een formulier.
Op dit moment heb ik de volgende expressies al in gebruik:
IsNull([vertrekdatum])
Hierdoor krijgt het veld vertrekdatum een kleur als deze niet gevuld is.

[paspoort_datum]<DateAdd("d";+15;[retour])
Hierdoor krijgt het veld paspoortdatum een kleur als het paspoort verloopt binnen 15 dagen na de retourdatum.

Ik probeer nu voor elkaar te krijgen om bijvoorbeeld het veld [geboortedatum] oranje te laten zijn als deze niet ingevuld is (dat lukt prima met de eerste expressie) maar dat het veld rood wordt als de vertrekdatum [vertrek] binnen 30 dagen komt te liggen en het veld [geboortedatum] nog steeds niet ingevuld is.
Dit levert me een probleem op. Ik kan dit prima regelen als er een datum bij [geboortedatum] ingevuld is, echter, als het vak leeg is heb ik geen datum om mee te rekenen. Ik denk dat er dan een expressie in de volgende vorm nodig is, maar weet niet precies hoe ik dit omzet naar 'echte' expressietaal.
if IsNull and (Now()-[vertrek])<30 then
 
Je zit met tegenstrijdige voorwaarden. Als je voor oranje test op het veld geboortedatum ([Geboortedatum] Is Null) dan kun je die test niet meer gebruiken in combinatie met een andere voorwaarde (Date() - [Vertrek] < 30) omdat in het laatste geval de eerste voorwaarde ook nog steeds waar is. Het veld blijft dan dus oranje, ook al is de tweede voorwaarde ook waar. Je moet dus consistente voorwaarden maken. Oranje geldt dus niet als Geboortedatum leeg is, maar als de rode voorwaarde niet waar is. Dus als Date() - [Vertrek] >= 30. Kortom: zorg ervoor dat alle formules dezelfde elementen bevatten, met uiteraard verschillende argumenten.
 
Ik was inderdaad te moeilijk aan het denken.
Bedankt voor de tip, heb het nu werkend :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan