Wanneer IIf = false resultaat #Fout

Status
Niet open voor verdere reacties.

anlag1

Gebruiker
Lid geworden
31 okt 2010
Berichten
144
Hallo allemaal,

Met onderstaande expressie wil ik weten of van een veld het eerste character begint met een cijfer.

HTML:
IIf(Asc(Left([CMP:PIN1];1)>47) And (Asc(Left([CMP:PIN1];1)<58));"WAAR";"ONWAAR")

Zolang aan de voorwaarde wordt voldaan levert dit "WAAR" op, maar als er niet aan wordt voldaan levert dit #Fout op i.p.v."ONWAAR"
CMPPIN1 is string, heeft mogelijk iets met gegevenstype te maken of levert een false een waarde Null op o.i.d?

André
 
Je kunt in een IIF geen AND gebruiken. Overigens kan het een heel stuk makkelijker:
Code:
Expr1: IIf(IsNumeric(Left([Offertenummer];1));"Getal";"Tekst")
Overigens kun je beter de CODE knop gebruiken; HTML ziet er een beetje knullig uit als je langere code gaat posten :D
 
In het eerste argument van de IIf functie kun je elke vergelijking opnemen inclusief AND en OR.
De code zou moeten zijn:
Code:
 IIf(IsNull([CMP:PIN1]);"?";IIf(Asc(Left([CMP:PIN1];1))>47 And Asc(Left([CMP:PIN1];1))<58;"WAAR";"ONWAAR"))
waarbij ook rekening is gehouden dat het veld "CMP:PIN1" leeg kan zijn
 
Heren,
Ik constateer wat verschillen van mening.
Michel, bedankt voor je input, heb je antwoord overgenomen, en werkt perfect.
Ben er echter nog niet uit of je "And" "Or" nu wel of niet mag gebruiken.
André
 
Het kan inderdaad zolang het in de vergelijking zit. In dit geval was het echter niet nodig, en daarom raadde ik de IsNumeric aan. Je moet een functie niet moeilijker maken dan het is :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan