Ga naar inhoud
  • 0

Dagen teller


dudematters

Vraag

4 antwoorden op deze vraag

Aanbevolen berichten

  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...