Jump to content
  • 0

Dagen teller


dudematters

Question

4 answers to this question

Recommended Posts

  • 0

de makkelijkste manier vind ik het gebruik van CustomList, om zo al de weekdagen op te lijsten in een bepaalde maand. Daarna gewoon een patterncount uitvoeren.

 

Let ( 
[ 	
  _day = 2
; _month = 10
; _year = 2010
; _firstDate = Date ( _month ; 1 ; _year )
; _lastDate = Date ( _month + 1 ; 1 ; _year ) - 1
; _nmbOfDays = GetAsNumber ( _lastDate - _firstDate ) + 1
; _listWeekDays = CustomList ( 1 ; _nmbOfDays ; "DayOfWeek ( Date ( " & _month & " ; [n] ; " & _year & " ) )" )

];
PatternCount ( ¶ & _listWeekDays & ¶ ; ¶ & _day & ¶ )
)

 

CustomList kan je downloaden op http://www.fmcustomfunctions.com.

 

je moet nog wel de _day, _month en _year naar je parameters verplaatsen.

Link to comment
  • 0

Andries,

 

Mag ik je nog even lastigvallen met deze oplossing. Op zich ben ik er heel blij mee, maar het gaat niet goed. Als ik een Dec 2010 DagenTeller( Day("03"; Month("12"); Year("2010")) doe is de uitkomst 4 (en dit is echt 5). In Jan 2011 doet hij het goed, maar in Jan 2010. Ik moet het aantal Vrijdagen in December 2010 weten, 3 dec 2010 is de eerste vrijdag.

 

Zou je me even kunnen helpen?

 

Mvg. Dick.

Link to comment
  • 0

Als ik het goed lees gebruik je dag 3 als parameter en dat is een dinsdag. Je telt met die functie dus dinsdagen in dec en dat zijn er 4.

Vrijdag is dag 6 in het Filemakerees.

 

Een eenvoudigere manier om het aantal maandagen oid tussen twee datums uit te rekenen is overigens

Int ( ( Einddatum + 1 - Startdatum + gDag ) / 7 )

Start- en einddatum zijn datum velden in filemaker en gDag is een globaal veld waarin je het gevraagde dagnummer invult (zondag=1, maandag=2 enz.)

 

Als je liever maand en jaar opgeeft in velden kan je dit gebruiken

Let (
[
xStart = Date ( Maand ; 1 ; Jaar ) ;
xEind = Date ( Maand + 1 ; 1 ; Jaar )
] ; 

Int ( ( xEind - xStart + gDag ) / 7 )

)

 

Let erop dat deze berekening 1 dag bij de einddatum telt voordat het aantal wordt bepaald.

De laatste dag wordt anders niet meegeteld.

Als je vindt dat het aantal vrijdagen tussen 3 en 10 december 1 is en niet 2, dan moet je de einddatum dus ongewijzigd laten.

Dat houdt in dat je in de 1ste functie '+1' achter Einddatum weglaat en in de 2de functie het daggetal voor de berekening van xEind vervangt door nul.

 

HTH

 

rmw

Link to comment

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...