Toon posts:

[Access 2010] Weergave leeftijd en recordlijst

Pagina: 1
Acties:

Acties:
  • 0Henk 'm!

Anoniem: 322510

Topicstarter
Goeiemorgen!

Ik heb in Access 2010 een formulier gemaakt om contacten bij te houden.
Nu heb je de mogelijkheid om een geboortedatum in te vullen, waarna automatisch de leeftijd berekend wordt.
Dit loopt via een stukje code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 Public Sub Form_Current()
    Dim varAge As Variant
    If Not IsNull([Geboortedatum]) Then
    
        varAge = DateDiff("yyyy", [Geboortedatum], Now)

        If Date < DateSerial(Year(Now), Month([Geboortedatum]), Day([Geboortedatum])) Then
           varAge = varAge - 1
                    
        End If
    Else
        varAge = "n.b."
    End If
    
    If IsNumeric(varAge) Then
        [Leeftijd] = CInt(varAge)
    Else
        [Leeftijd] = varAge
    End If
End Sub

Private Sub Geboortedatum_AfterUpdate()
    Call Form_Current
End Sub


Nu werkt dit stukje prima, behalve als ik op een nieuwe record kom, dus via de recordkiezers. De leeftijd die dan weergegeven wordt is 111. Terwijl er geen geboortedatum ingevuld is. Any clues?
Voor een idee:

Acties:
  • 0Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 26-05 18:56

Snake

Los Angeles, CA, USA

Breakpoint zetten op regel 3 en kijken waarom hij WEL door de If statement gaat? ;)

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Blijkbaar is er voor geboortedatum een defaultwaarde ingesteld in formulier of tabel van 0, d.w.z. 1-1-1900.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0Henk 'm!

  • Rupie
  • Registratie: Augustus 2006
  • Laatst online: 28-04 13:15
Ik ben niet heel bekend met VBA, maar is het ook niet zo dat IsNull wat anders is dan Empty?
heb even zitten lezen maar dat lijkt er niets mee te maken te hebben. Eerder een default value inderdaad. Kom je er niet mee weg om af te vragen op geboortedatum <> 01/01/1900?

[Voor 50% gewijzigd door Rupie op 20-05-2011 11:19]

Desktop | Server | Laptop


Acties:
  • 0Henk 'm!

Anoniem: 322510

Topicstarter
Het zou wel kunnen dat er een defaultwaarde op geboortedatum zit, maar als ik een bestaande record heb zonder geboortedatum zie ik wel "n.b." en enkel bij een nieuwe record doet dit probleem zich voor. (wanneer ik dus nog geen nieuw "ID" heb)

Maar zoals Snake zei zal ik is kijken waarom hij wel door de If statement gaat.

[Voor 6% gewijzigd door Anoniem: 322510 op 20-05-2011 19:31]


  • Marko_J
  • Registratie: Maart 2010
  • Laatst online: 05-12-2022
Anoniem: 322510 schreef op vrijdag 20 mei 2011 @ 19:29:
Het zou wel kunnen dat er een defaultwaarde op geboortedatum zit, maar als ik een bestaande record heb zonder geboortedatum zie ik wel "n.b." en enkel bij een nieuwe record doet dit probleem zich voor. (wanneer ik dus nog geen nieuw "ID" heb)
Standaardwaarden gelden dan ook alleen bij nieuwe records. Kijk eens in ontwerpweergave van de tabel of het formulier.

Anoniem: 322510

Topicstarter
In standaardwaarde stond niks.
Maar ik heb het probleem als volgt opgelost, eigenlijk vrij simpel:
code:
3
If Not IsNull([Geboortedatum]) And Not IsEmpty([Geboortedatum]) Then


Ik weet niet of het de meeste nette manier is, maar ik ben blij dat het nu wel werkt.
Bedankt voor de hulp!

[Voor 22% gewijzigd door Anoniem: 322510 op 21-05-2011 14:33]

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee