Allereerst 'n bedankje voor de vele informatie die ik al op dit forum heb gevonden.
Maar voor mijn volgende probleem kan ik nog geen juiste oplossing vinden..
Op dit moment ben ik een access-database aan het programmeren voor een bibliotheek. Deze berekend € 0,20 per week voor een boek, ongeacht op welke dag het in die week wordt gehaald of teruggebracht. Wanneer een klant een boek leent, betaald het de eerste week vooruit. Dit alles wordt vastgelegd in de tabel: tblTransaction, waarin het veld TransactionPayedTill behoudt tot welke datum er betaald is.
Waneer een klant het boek retourneert wordt het huidige weeknummer uitgerekend, minus de week tot waneer er betaald is. Dit resulteerd dus is in het aantal nog onbetaalde weken, waarmee het te betalen bedrag berekend wordt. Tot zover gaat alles goed.
Het probleem gaat zich voordoen rond de jaarwisseling. Want week 200702 - week 200650 gaat niet helemaal goed.
Weeknummers bereken ik overigens met in de volgende functie:
Public Function fctBerekenenWeeknummer(Datum)
Dim Datum2
Dim Week
Dim Dag, Maand, Jaar
Datum2 = Datum
Dag = Format(Datum2, "dd")
Maand = Format(Datum2, "m")
Jaar = Format(Datum2, "yyyy")
Datum = Format(Datum2, "dd-mm-yyyy")
Week = Format([Datum], "ww", 0, 2)
If Week > 51 And Maand = 1 Then
Jaar = Jaar - 1
End If
If Week = 1 And Maand = 12 Then
Jaar = Jaar + 1
End If
Week = Week & Jaar
If Len(Week) = 5 Then
Week = "0" & Week
End If
fctBerekenenWeeknummer = Week
End Function
Ik heb mijn hersenen al aardig overbelast met dit probleem
, maar de oplossing laat nog naar zich raden. Wie heeft 'm? Alvast bedankt!
Maar voor mijn volgende probleem kan ik nog geen juiste oplossing vinden..
Op dit moment ben ik een access-database aan het programmeren voor een bibliotheek. Deze berekend € 0,20 per week voor een boek, ongeacht op welke dag het in die week wordt gehaald of teruggebracht. Wanneer een klant een boek leent, betaald het de eerste week vooruit. Dit alles wordt vastgelegd in de tabel: tblTransaction, waarin het veld TransactionPayedTill behoudt tot welke datum er betaald is.
Waneer een klant het boek retourneert wordt het huidige weeknummer uitgerekend, minus de week tot waneer er betaald is. Dit resulteerd dus is in het aantal nog onbetaalde weken, waarmee het te betalen bedrag berekend wordt. Tot zover gaat alles goed.
Het probleem gaat zich voordoen rond de jaarwisseling. Want week 200702 - week 200650 gaat niet helemaal goed.
Weeknummers bereken ik overigens met in de volgende functie:
Public Function fctBerekenenWeeknummer(Datum)
Dim Datum2
Dim Week
Dim Dag, Maand, Jaar
Datum2 = Datum
Dag = Format(Datum2, "dd")
Maand = Format(Datum2, "m")
Jaar = Format(Datum2, "yyyy")
Datum = Format(Datum2, "dd-mm-yyyy")
Week = Format([Datum], "ww", 0, 2)
If Week > 51 And Maand = 1 Then
Jaar = Jaar - 1
End If
If Week = 1 And Maand = 12 Then
Jaar = Jaar + 1
End If
Week = Week & Jaar
If Len(Week) = 5 Then
Week = "0" & Week
End If
fctBerekenenWeeknummer = Week
End Function
Ik heb mijn hersenen al aardig overbelast met dit probleem
