Help iif() functie

Status
Niet open voor verdere reacties.

Charunks

Nieuwe gebruiker
Lid geworden
16 nov 2019
Berichten
4
Goedemiddag dames, heren,

Waarschijnlijk een hele domme vraag. Ik ben bezig een amerikaanse datum notatie (string) om te zetten naar een datum voor access. Omdat de notatie de maand als een string bevat, kan ik Dateserial() niet direct gebruiken.

Nu wil ik de maandstring uit de notatie halen en met behulp van een iif() de maand als numerieke waarde noteren. Het lukt mij echter niet. Bij het uitvoeren van de query vraagt access om de waarden van de variabelen van de maand.

ik heb bij wijze van test hetvolgende geschreven:

T_Month1: Iif(Left([Date,];3)=”Dec”;0;1)

In de huidige notatie gaat access om de waarde van variabele "Dec" vragen. Dec noteren als 'Dec' werkt ook niet.

Wat doe ik verkeerd?



edit: als ik eerst de maand notatie uit de string haal en die kolom [T_Mtemp] noem, gaat vervolgens Iif([T_Mtemp]=”Dec”;0;1) wel goed.

edit2: weer wat verder. Access zet automatisch alles dat ik tussen "" zet tussen [] en maakt er zo een variabele van. Het maakt niet uit welke functie in gebruik.

Zou iemand toe kunnen lichten waarom dit zo werkt, zodat ik beter begrijp wat ik wel en niet kan doen?

Alvast bedankt!
 
Laatst bewerkt:
Hoort die komma er wel in?
Code:
T_Month1: Iif(Left([Date[COLOR="#FF0000"],[/COLOR]];3)="Dec";0;1)

Haal die er eens uit.
 
Laatst bewerkt:
Code:
Code:
Normaal gesproken is [Date] een datum, en kun je daar nooit “Dec” uit halen zonder eerst Format te gebruiken. Maar als het een datum is, en je December wilt filteren, dan kun je net zo goed op maand 12 filteren.
Code:
T_Month1: IIf(Month([Date])=12;0;1)
Als [Date] wél een naam van een maand is (hele rare veldnaam dan, vind je niet?) dan had je code namelijk wel gewerkt.
De versie met tekst:
Code:
T_Month1: IIf(Format([Date];”MMM”)=“Dec”;0;1)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan