Wover
Legacy Member
Yow, k eb ier ff een progje geschreven om het aantal dagen en maanden tot de verjaardag van crew van mijn gamessite te berekenen. Ge zult zien dat ik in het eerste deel moeite heb gedaan om rekening te houden met maanden die 31 of 30 dagen duren (screw februari
), maar in het 2e deel (waar de verjaardag nog niet gepasseerd is dit jaar), hebbek gewoon snel wa geschreven om het prog uit te testen. Nu, wss zitten daar al fouten in, maar er zit begot ook al een fout in de do constructie. De fout is: Loop zonder Do, maar zoals ge zult zien is da allemaal perfect conform de regelkes 
), maar in het 2e deel (waar de verjaardag nog niet gepasseerd is dit jaar), hebbek gewoon snel wa geschreven om het prog uit te testen. Nu, wss zitten daar al fouten in, maar er zit begot ook al een fout in de do constructie. De fout is: Loop zonder Do, maar zoals ge zult zien is da allemaal perfect conform de regelkes 
Code:
Option Compare Database
Option Explicit
Public Sub TijdTotVerjaardag()
Dim rsCrew As New ADODB.Recordset
Dim intAantalMaanden As Integer
Dim intAantalDagen As Integer
rsCrew.Open "tblCrewmembers", CurrentProject.Connection
Do While rsCrew.EOF = False
If Date - rsCrew!Geboortedatum > 0 Then
intAantalMaanden = 12 - Month(Date) + Month(rsCrew!Geboortedatum)
If Month(Date) = 1 Or Month(Date) = 3 Or Month(Date) = 5 Or Month(Date) = 7 Or Month(Date) = 8 Or Month(Date) = 10 Or Month(Date) = 12 Then
intAantalDagen = 31 - Day(rsCrew!Geboortedatum) + 30 * (Month(Date) - Month(rsCrew!Geboortedaum) + Month(rsCrew!Geboortedatum))
Else
If Month(Date) = 2 Or Month(Date) = 4 Or Month(Date) = 6 Or Month(Date) = 9 Or Month(Date) = 11 Then
intAantalDagen = 30 - Day(rsCrew!Geboortedatum) + 30 * (Month(Date) - Month(rsCrew!Geboortedaum) + Month(rsCrew!Geboortedatum))
End If
Debug.Print rsCrew!Membername, Tab(10), intAantalMaanden, Tab(15), intAantalDagen
If Date - rsCrew!Geboortedatum < 0 Then
intAantalMaanden = Month(rsCrew!Geboortedatum) - Month(Date)
intAantalDagen = intAantalMaanden * 30
End If
Debug.Print rsCrew!Membername, Tab(10), intAantalMaanden, Tab(15), intAantalDagen
Loop
End Sub
