IIf functie vraagje

Status
Niet open voor verdere reacties.

Ton-Sonnemans

Gebruiker
Lid geworden
1 okt 2006
Berichten
6
Wat ik graag wil in een query is dat als de leeftijd van een persoon een bepaald jaar heeft, bijvoorbeeld 20 dat ik dan een bepaalde waarde krijg en dat voor elk jaar van 5 t/m 20.
Met mijn nu gebruikte IIf formule kan ik alleen kiezen uit 2 waardes, IIf[Leeftijd]=19;"waarde1";"waarde2").
Hoe kan ik dit nu aangeven voor de leeftijd 5 t/m 20? Misschien moet ik een andere functie gebruiken maar daarvoor heb ik (nog) niet genoeg kennis van Access.

Bij voorbaat dank, ik ben een beginnend Access gebruiker en ik zou hier heel veel mee geholpen zijn :thumb: !!! Ik zit er al dagen op te zwoegen maar kom er niet uit.
Ton
 
Wat ik graag wil in een query is dat als de leeftijd van een persoon een bepaald jaar heeft, bijvoorbeeld 20 dat ik dan een bepaalde waarde krijg en dat voor elk jaar van 5 t/m 20.
Met mijn nu gebruikte IIf formule kan ik alleen kiezen uit 2 waardes, IIf[Leeftijd]=19;"waarde1";"waarde2").
Hoe kan ik dit nu aangeven voor de leeftijd 5 t/m 20? Misschien moet ik een andere functie gebruiken maar daarvoor heb ik (nog) niet genoeg kennis van Access.

Bij voorbaat dank, ik ben een beginnend Access gebruiker en ik zou hier heel veel mee geholpen zijn :thumb: !!! Ik zit er al dagen op te zwoegen maar kom er niet uit.
Ton

Ton,

Zijn de waarden die voor de leeftijden van 5 t/m 20 jaar altijd hetzelfde? Dus bijv. 5 jaar = waarde "2" en leeftijd 15 = waarde "13"?
Zo ja, dan zou ik gebruik maken van een tabelletje waarin je een kolom gebruikt voor de leeftijd en een kolom voor de waarde. De leeftijd kun je dan weer koppelen aan je andere tabel. Op deze manier hoeft hij niets te bepalen.

De functie IIF werkt als volgt: geef criteria ; hier voldoet hij aan de criteria ; hier voldoet hij niet aan de criteria.
Wanneer hij niet voldoet kun je daar weer een volgende IIF functie in plaatsen. Er zit wel een hoeveelheidsbeperking op, maar ik weet niet hoeveel exact..

vb. (IIf([Leeftijd]=5;"waarde1";(IIf([Leeftijd]=6;"waarde2";(IIf([Leeftijd]=7;"waarde3";"te oud")))))) enz...
 
Dit werkt bijna

Dit werkt net niet helemaal voldoende ik heb teveel (6 om precies te zijn) IIf beslissingen achter elkaar nodig en dan gaat het fout. Voor elke combinatie van 2 jaar (20+19, 18+17, enz) nodig waarop ik moet beslissen t/m 9 jaar dus.

Alvast bedankt en hopelijk zijn er nog meer mogelijkheden.
Zie zip-bestand voor de precieze vraag.
 

Bijlagen

  • Access IIf vraagje.zip
    710 bytes · Weergaven: 55
Dit werkt net niet helemaal voldoende ik heb teveel (6 om precies te zijn) IIf beslissingen achter elkaar nodig en dan gaat het fout. Voor elke combinatie van 2 jaar (20+19, 18+17, enz) nodig waarop ik moet beslissen t/m 9 jaar dus.

Alvast bedankt en hopelijk zijn er nog meer mogelijkheden.
Zie zip-bestand voor de precieze vraag.

Ik zie dat je wat zoekt dat veel te maken heeft met atletiek. Daar houdt ik mij mee bezig.
Ik heb een formule die aan de hand van de geboortedatum de indeling maakt dus JD, JC, JA enz.
Heb je een veld met een geboortedatum? Dan kom je al heel ver.

In de atletiek verandert dit altijd per 1 november bij de jeugd, wat doet dat bij jouw sport?
 
Laatst bewerkt:
Hallo Ton,

je kan maar 7 geneste iif's gebruiken in access.

Ik heb een voorbeeldje voor je gemaakt met select case.

Bekijk even de module ModBereking, daarin zie je de functie waar je per leeftijd een waarde kan ingeven. (Aanpassen aan jouw wensen)
In de query wordt deze waarde dan opgevraagd.
 

Bijlagen

  • dbLeeftijdWaardes.zip
    10,6 KB · Weergaven: 96
Oh leuk

Ik zie dat je wat zoekt dat veel te maken heeft met atletiek. Daar houdt ik mij mee bezig.
Ik heb een formule die aan de hand van de geboortedatum de indeling maakt dus JD, JC, JA enz.
Heb je een veld met een geboortedatum? Dan kom je al heel ver.

In de atletiek verandert dit altijd per 1 november bij de jeugd, wat doet dat bij jouw sport?

Oh dit gaat over voetballers en die gaan altijd per 1 januari (Peildatum) over in het daarop volgende seizoen wat loopt van augustus t/m mei zoiets.
Ik heb overigens een geboortedatum van allen dus wat nu gedaan?
Moet overigens zo meteen weg dus na dit bericht ben ik weg.

Bedankt,
Ton
 
Oh dit gaat over voetballers en die gaan altijd per 1 januari (Peildatum) over in het daarop volgende seizoen wat loopt van augustus t/m mei zoiets.
Ik heb overigens een geboortedatum van allen dus wat nu gedaan?
Moet overigens zo meteen weg dus na dit bericht ben ik weg.

Bedankt,
Ton

Ton,

Hier iets van mij. Ik denk dat je zoiets bedoelt. De tabel categorieën kun je aanpassen (zie bij leeftijd 9 vb).
In de query staat de kolom categorie. Wanneer je hier bij de opbouw kijkt, moet je niet schrikken, ergens staat 111 (stelt 1 nov voor), dit kun je aanpassen naar 1 jan (11) en dan is je peildatum voor alleen de jeugd! op 1 januari gesteld, er zit ook nog iets in van leeftijd.
Maar ik weet nie hoe dat bij de voetbal zit, maar valt aan te passen. Bij de atletiek werkt ie perfect!
 

Bijlagen

  • Kopie van Helpmij.zip
    70,1 KB · Weergaven: 67
Hoi Lode

Hallo Ton,

je kan maar 7 geneste iif's gebruiken in access.

Ik heb een voorbeeldje voor je gemaakt met select case.

Bekijk even de module ModBereking, daarin zie je de functie waar je per leeftijd een waarde kan ingeven. (Aanpassen aan jouw wensen)
In de query wordt deze waarde dan opgevraagd.

Ook dit heb ik geprobeerd maar het hele VBA verhaal gaat mijn petje te boven. Als ik de waardes 5,6,7, enz verander gaat er vanalles mis dus hier red ik het niet mee. Het lijkt me wel wat om hier verder meer over te leren maar werkt vooralsnog dus niet. Ik kan alleen cijfers aan die waarden geven want met letters gaat het mis. Krijg een melding van "Compileerfout! Een variable is niet gedefinieerd. Dit als ik b.v. ingeef:
Case 5: fBerekenWaarde = F

Bedankt,
Ton
 
Hallo,
Heb even aangepast met tekst, deze moet tussen "".

Als dit niet is wat je wenst dan,
post hier anders eens je db, gezipt, zonder vertrouwelijke gegevens. En geef duidelijk aan wat je waar wenst.
Geef ook eens alle waardes, die je wenst bij je leeftijden.
 
Laatst bewerkt:
Hoi,

db was niet toegevoegd, bij deze.
 

Bijlagen

  • dbLeeftijdWaardes.zip
    16,1 KB · Weergaven: 77
Japsur

Ton,

Hier iets van mij. Ik denk dat je zoiets bedoelt. De tabel categorieën kun je aanpassen (zie bij leeftijd 9 vb).
In de query staat de kolom categorie. Wanneer je hier bij de opbouw kijkt, moet je niet schrikken, ergens staat 111 (stelt 1 nov voor), dit kun je aanpassen naar 1 jan (11) en dan is je peildatum voor alleen de jeugd! op 1 januari gesteld, er zit ook nog iets in van leeftijd.
Maar ik weet nie hoe dat bij de voetbal zit, maar valt aan te passen. Bij de atletiek werkt ie perfect!

Dit werkt voorzover het jouw IIf functie betreft met de desbetreffende tabel erbij maar ik heb niet de kennis om dit zo aan te passen dat het werkt. Maar ik heb inmiddels van Lode een oplossing die fantastisch werkt misschien ook nog iets voor jou wie zal het zeggen. In ieder geval hardstikke bedankt voor het meedenken.

Succes met de atletiek club.
Groeten,
Ton :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan