Jump to content
  • 0

SOLVED Werkdagen tellen


poudheus

Question

Posted (edited)

Hallo,

 

Ik wil in een overzicht alle dagen tellen sinds de status 'Open'.

Dit is me gelukt, maar hij telt zeven dagen in de week, ik zou graag willen dat de zaterdag en zondag niet worden meegeteld.

 

Iemand een ideetje?

Groetjes Peter

Edited by Guest

4 answers to this question

Recommended Posts

  • 0
Posted

Ik ben niet wildenthousiast over die CF op briandunning en gebruik zelf deze:

Let ( [
rd 	= Tabelnaam::Veldnaam ; // Datum op het record 
kd 	= Get ( CurrentDate ) ; // Vandaag
cd 	= rd + Choose ( DayofWeek ( rd ) ; "" ; 1 ; 0 ; 0 ; 0 ; 0 ; 0 ; 2 ) ; // Compensatie voor weekeinde
dd 	= kd + Choose ( DayofWeek ( kd ) ; "" ; 1 ; 0 ; 0 ; 0 ; 0 ; 0 ; 2 ) ; // Compensatie voor weekeinde
md 	= Mod ( dd - cd ; 7 ) ; // Modulus 7
dv 	= Div ( dd - cd ; 7 ) ; // Aantal keren door 7 te delen
cwd	= DayOfWeek ( cd ) ;    // Dag vd wk rd
dwd	= DayOfWeek ( dd )      // Dag vd wk vandaag
] ; 
dv * 5 + Case ( 
		dwd > cwd ; md ; 
		dwd < cwd ; 5 - ( cwd - dwd ) ; 
		0 )
)

rd staat in je db en bij deze formule moet je de index (opslaan van het resultaat van de berekening) "uitzetten", anders wordt de waarde bepaald op de dag dat je de datum invult en daarna nooit meer. Ook deze formule negeert alle feestdagen, alleen sec de weekdagen worden berekend.

  • 0
Posted

Ik heb deze ooit geschreven:

 

If ( IsValid ( begindatum ) and IsValid ( einddatum ) ;

 ( Int ( ( einddatum - 6 ) / 7 ) - Int ( ( begindatum - 6 ) / 7 ) ) * 5 +
   Max ( Mod ( einddatum - 6 ; 7 ) - 2 ; 0 ) -
   Max ( Mod ( begindatum - 6 ; 7 ) - 2 ; 0 ) ;

 ""

)

 

Rekent aantal weken uit en vermenigvuldigt met 5 dagen per week. Daarna een correctie voor gedeeltelijke week van begin- en einddatum.

 

Mvg,

René

  • 0
Posted

Deze heeft me enorm geholpen. Erg duidelijk ook! Dank!

 

Ik ben niet wildenthousiast over die CF op briandunning en gebruik zelf deze:

Let ( [
rd 	= Tabelnaam::Veldnaam ; // Datum op het record 
kd 	= Get ( CurrentDate ) ; // Vandaag
cd 	= rd + Choose ( DayofWeek ( rd ) ; "" ; 1 ; 0 ; 0 ; 0 ; 0 ; 0 ; 2 ) ; // Compensatie voor weekeinde
dd 	= kd + Choose ( DayofWeek ( kd ) ; "" ; 1 ; 0 ; 0 ; 0 ; 0 ; 0 ; 2 ) ; // Compensatie voor weekeinde
md 	= Mod ( dd - cd ; 7 ) ; // Modulus 7
dv 	= Div ( dd - cd ; 7 ) ; // Aantal keren door 7 te delen
cwd	= DayOfWeek ( cd ) ;    // Dag vd wk rd
dwd	= DayOfWeek ( dd )      // Dag vd wk vandaag
] ; 
dv * 5 + Case ( 
		dwd > cwd ; md ; 
		dwd < cwd ; 5 - ( cwd - dwd ) ; 
		0 )
)

rd staat in je db en bij deze formule moet je de index (opslaan van het resultaat van de berekening) "uitzetten", anders wordt de waarde bepaald op de dag dat je de datum invult en daarna nooit meer. Ook deze formule negeert alle feestdagen, alleen sec de weekdagen worden berekend.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...