Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Access] Probleem met iif statement

Pagina: 1
Acties:

  • Falcon10
  • Registratie: Mei 2002
  • Laatst online: 21:48

Falcon10

Hit it i would !

Topicstarter
Ik zit met een query in een Access 2003 DB waar ik een iff functie in gebruik, maar welke niet de juiste dingen doet.

de code die ik gebruik =

code:
1
2
3
Volg Keuring: IIf([Keuringen.Keurdatum]=Null;
         [Wagengegevens.Aankoopdatum]+([Keuringen.Keurfrequentie]*30);
         [Keuringen.Keurdatum]+([Keuringen.Keurfrequentie]*30))


Wat er dus gebeurd : ik maak in de query een extra kolom genaamd Volg Keuring.
Door een controle op de Keurdatum ( indien de keurdatum blanco is ) in de tabel Keuringen moet er iets gebeuren :
bij het eerste werkt het wel : de aankoopdatum waar we de keurfrequentie x 30 bij optellen. Daar krijgen we effectief een resultaat op.
Echter bij het tweede, waar de keurdatum opgeteld wordt bij de keurfrequentie x 30, krijg ik geen resultaat.

Ik vermoed dat mijn probleem ligt bij men voorwaarde Keurdatum=Null.
Aangezien er in dat record gewoon niets in staat, is de inhoud dus ook <> Null.

Er bestaat nog een functie IsEmpty, maar ik snap de syntax niet hiervan om deze in de iif functie te zwieren. Ik vermoed dat deze de oplossing is en ervoor gaat zorgen dat ik wel een resultaat krijg in het tweede geval.

Iemand enig idee hoe dit in elkaar steekt ?

-| Hit it i would ! |-


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 13:18
Je kan ook geen vergelijking maken op NULL, wat jij zoekt is de ISNULL

  • Falcon10
  • Registratie: Mei 2002
  • Laatst online: 21:48

Falcon10

Hit it i would !

Topicstarter
Phenomenon schreef op woensdag 26 maart 2008 @ 19:06:
Je kan ook geen vergelijking maken op NULL, wat jij zoekt is de ISNULL
dus de code :

code:
1
Volg Keuring: IIf([Keuringen.Keurdatum]=IsNull;



should do the trick ?

-| Hit it i would ! |-


  • _Teq_
  • Registratie: Februari 2007
  • Laatst online: 06:27
"Doh"-mode
Geen idee, probeer het eens? :)
/"Doh"-mode

  • Falcon10
  • Registratie: Mei 2002
  • Laatst online: 21:48

Falcon10

Hit it i would !

Topicstarter
bon, als ik het in Acces ingeef, wordt men code als volgt :

code:
1
2
3
Volg Keuring: IIf([Keuringen.Keurdatum] IsNull;
              [Wagengegevens.Aankoopdatum]+([Keuringen.Keurfrequentie]*30);
              [Keuringen.Keurdatum]+([Keuringen.Keurfrequentie]*30))


krijg ik de melding dat de syntax ongeldig is.
ik zou een operand opgegeven hebben zonder operator ?

-| Hit it i would ! |-


  • SKiLLa
  • Registratie: Februari 2002
  • Niet online

SKiLLa

Byte or nibble a bit ?

IsNull() is een functie, net zoals IsEmpty(), en retourneert gewoon True of False.
Maar moeten die punt-komma's (";") geen komma's (",") zijn, als in:


code:
1
result = IIf (IsNull([Keuringen.Keurdatum]), "waar", "onwaar")

Zo moeilijk moet het trouwens niet zijn om VBA/VBS documentatie te googlen hoor ...

'Political Correctness is fascism pretending to be good manners.' - George Carlin


Verwijderd

Een '= null' vergelijking is niet mogelijk. Zelfs null is niet gelijk aan null, maar ook weer niet ongelijk aan null...
Null houdt in dat er (nog) geen waarde aan toegewezen is, en geen waarde houdt meteen in dat je 't nergens mee kunt vergelijken, er valt nl. niks te vergelijken. :)

[ Voor 6% gewijzigd door Verwijderd op 26-03-2008 20:29 ]


  • Falcon10
  • Registratie: Mei 2002
  • Laatst online: 21:48

Falcon10

Hit it i would !

Topicstarter
SKiLLa schreef op woensdag 26 maart 2008 @ 19:58:
IsNull() is een functie, net zoals IsEmpty(), en retourneert gewoon True of False.
Maar moeten die punt-komma's (";") geen komma's (",") zijn, als in:


code:
1
result = IIf (IsNull([Keuringen.Keurdatum]), "waar", "onwaar")

Zo moeilijk moet het trouwens niet zijn om VBA/VBS documentatie te googlen hoor ...
Dat was em SKiLLa !

Hartelijk dank.

-| Hit it i would ! |-

Pagina: 1