[VB & Access] WeedDayDiff niet correct...

Pagina: 1
Acties:

  • leond
  • Registratie: Juni 2003
  • Laatst online: 27-05-2020
Hi,

Ik heb met de volgende functie:
code:
1
2
3
4
5
Weekday(startdate) < Weekday(enddate) Then
            WeekDayDiff = DateDiff("d", startdate, enddate) - (DateDiff("w", startdate, enddate) + 1) * 2
        Else
            WeekDayDiff = DateDiff("d", startdate, enddate) - DateDiff("w", startdate, enddate) * 2
End If

een source die het aantal werkdagen berekend tussen 2 datums...

Maar hij schijnt niet te werken. Er is nu altijd een verschil van 2 dagen. Dan wel 2 dagen teveel of 2 dagen te weinig.
Ik heb hieronder voorbeeldjes:
Begindatum Einddatum correcte aantal -- door prog. berekende aantal
17-11-03 - - 27-11-03 - - - - 8 - - - - - - - - - - -6
10-12-03 - - 22-12-03 - - - - 8 - - - - - - - - - - -10
16-12-03 - - 31-12-03 - - - - 11 - - - - - - - - - - -9
22-12-03 - - 26-12-03 - - - - 4 - - - - - - - - - - - -2

(Hopelijk duidelijk)

Eerst leek het erop dat het werkte maar nu niet meer (of t werkte nooit...)
maar dit is erg frusterend. Waarom kan die berekening niet gewoon goed gaan! :(

iemand enige suggesties?

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
a) Ik vind je topic-titel geweldig :+
b) Volgens mij moet je "ww" gebruiken en niet "w" (bron)
c) Ik gok ook nog dat de +1 bij de tweede en niet de eerste moet, maar dat moet je maar ff uitproberen (ik ben niet zo helder op dit moment)...

Edit: die +1 is volgens mij uberhaupt niet nodig, iig niet als startDate en endData altijd op werkdagen vallen.

[ Voor 19% gewijzigd door SWfreak op 14-11-2003 14:25 ]


  • leond
  • Registratie: Juni 2003
  • Laatst online: 27-05-2020
SWfreak schreef op 14 november 2003 @ 14:23:

c) Ik gok ook nog dat de +1 bij de tweede en niet de eerste moet, maar dat moet je maar ff uitproberen (ik ben niet zo helder op dit moment)...
Nee helaas werkt dit niet...

  • leond
  • Registratie: Juni 2003
  • Laatst online: 27-05-2020
volgens mij is dit ook misschien help...
als er geeneen of 1 weekend tussen zit rekent ie er 2 dagen teweinig.

bij 2 weekenden ertussen berekent ie het goed

bij 3 weekenden ertussen berekent ie er 2 teveel

bij 4 weer berekend ie weer goed

bij 5 & 6 berekend ie er 2 te weinig

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Misschien heb je hier wat aan:

http://www.mvps.org/accessfr/datetime/date0012.htm

Hier staan een aantal bruikbare functies tussen, denk ik :)