[VB6] Datum vergelijken gaat fout

Pagina: 1
Acties:

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Ik ben een stukje aan het programmeren waarbij ik een tijdvak uit een datum probeer te halen. Je hebt 13 tijdvakken in 1 jaar, en een tijdvak begint op de 1e zaterdag van het jaar, en duurt per tijdvak 4 weken (dus tot de vrijdag).

Nu heb ik onderstaande gemaakt om een begin te maken:
Visual Basic:
1
2
3
4
5
6
7
8
datum = CDate(datum.Text)
Dat1Jan = "1-1-" & Year(datum)
Dag1Jan = Weekday(Dat1Jan)
Datum1eZat = DateAdd("d", 7 - Dag1Jan, Dat1Jan)
If datum < Datum1eZat Then MsgBox "Test"
AantalWeken = DateDiff("w", Datum1eZat, datum)
weken.Text = AantalWeken
Tijdvak.Text = Int(AantalWeken / 4) + 1

Als ik dan ga testen met datums uit het jaar 2004 dan is de eerste zaterdag 3-1-2004, nu is het dus de bedoeling dat als de datum in datum.text kleiner is dan de eerste zaterdag van het jaar dat hij het laatste tijdvak van het jaar ervoor pakt. Dit heb ik op regel 5 geprobeerd te maken, maar deze geeft de Msgbox op de raarste momenten. Hij gaat bijvoorbeeld af van 10-2-04 t/m 2-3-04, en niet van 3-3-04 t/m 9-3-04. Ik dacht eerst dat dit kwam doordat misschien mijn systeem op Engelse notatie stond zodat de maanden en dagen werden omgedraaid, maar dit is niet het geval!

Hoe kan ik dit nu dat hij op de meest rare datums die melding geeft?

Overigens gaat de berekening voor de tijdvakken enzo wel goed!

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • Exterazzo
  • Registratie: Mei 2000
  • Laatst online: 23:41

Exterazzo

Qeasy

Je kunt iig met de Format functie er voor zorgen, dat alle datums in het zelfde formaat worden gezet, dan weet je iig zeker dat je de juiste notatie hebt :)

Audentia


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Ja dat heb ik ook al geprobeerd, met de FormatDateTime functie. Alleen dit maakte ook niks uit, in welke notatie dan ook :(

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!