dudematters Posted September 28, 2010 Share Posted September 28, 2010 Ik zoek een manier om te berekenen hoeveel vrijdagen in een maand zitten. Dus ik geef een maand en jaar op en de calculatie komt terug met het aantal vrijdagen (bijvoorbeeld). Heeft hier iemand iets voor? Quote Link to comment
0 andries Posted September 28, 2010 Share Posted September 28, 2010 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. Quote Link to comment
0 dudematters Posted September 29, 2010 Author Share Posted September 29, 2010 Hoi Andries, Super bedankt, dit werkt prima! Quote Link to comment
0 dudematters Posted November 30, 2010 Author Share Posted November 30, 2010 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. Quote Link to comment
0 rmw Posted December 3, 2010 Share Posted December 3, 2010 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 Quote Link to comment
Question
dudematters
Ik zoek een manier om te berekenen hoeveel vrijdagen in een maand zitten. Dus ik geef een maand en jaar op en de calculatie komt terug met het aantal vrijdagen (bijvoorbeeld). Heeft hier iemand iets voor?
Link to comment
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.