Jump to content
  • 0

Hier ben ik weer


Tigerbaby

Question

Posted

Zo, eindelijk terug aan het werk.

 

Wie kan me even uitleggen hoe het resultaat van deze formule verkregen wordt.

 

Day(Date(Month(Date)+1;01;Year(Date))-1) zou dus de laatste dag van de maand zijn.

 

En hoe komt men dan aan de eerste dag van de maand?

 

 

groetjes,

Tigerbaby

8 answers to this question

Recommended Posts

  • 0
Posted

Ik snap het niet zo goed: de door jou geciteerde formule geeft het nummer van de laatste dag van de maand van een opgegeven datum.

Voor een datum in januari geeft dat het getal 31, voor een datum in februari van het jaar 2004 geeft dat 29. Voor een datum in september geeft dat 30. Dat kan je op de kneukels van je hand ook zien (op het schrikkeljaar na).

 

Je vraagt daarna de formule voor de eerste dag van de maand. Dat is grappig! Dat is namelijk altijd het getal 1.

Je hebt dus naar alle waarschijnlijkheid de verkeerde formule opgevist, nl. eentje die antwoordt op een vraag die je niet stelt. Ik vermoed dat je geen getal wenst, maar een datum. Klopt dat?

  • 0
Posted

Je hebt gelijk, hier ga ik weer met mijn cryptische omschrijvingen.

Wat zoek ik nu eigenlijk?

Wel, ik zit nog steeds met dat kalenderbestandje met 1 record per dag.

Elke dag heeft een serialnummer

Ik ben niet zo echt weg met die datumformules.

Om naar de vorige en volgende dag en week en maand te gaan maak ik gebruik van die serialnummer en een formuleke om deze te bereiken.

 

vb. voor volgende maand gebruik ik.

Case(Dagnummer = Laatstedagvanmaand; Autonummer+1; Autonummer+Laatstedagvanmaand)

Dan gebuik ik de verkregen value om naar de desbetreffende maand te gaan.

 

Niet echt spectaculair misschien, maar het werkt toch.

In de maandview maakt het toch niet echt uit, op welke dag je nu zit. Of je nu op de 2° of op de 25° van een maand zit, de maand blijft steeds dezelfde.

 

Om naar de vorige maand te gaan zit ik echter met een probleem, ik schijn er maar niet uit te komen. Ik zie iets over het hoofd, maar weet niet wat.

Moet ik werken met de begindatum van een maand?

  • 0
Posted

Met de Date-functie kom je toch overal: die heeft drie parameters nl. maand, dag en jaar. Als je een of meer van die elementen hebt, dan kan je toch optellen en aftrekken om andere datums te bereiken?

Vandaag één maand geleden is dan:

Date(Month(Status(CurrentDate)) - 1; Day(Status(CurrentDate));Year(Status(CurrentDate)))

Los uit de hand getikt, dus ik hoop dat alle (rot-)haakjes goed staan.

Even uitleggen.

Date heeft dus drie parameters: maand, dag en jaar.

Voor Maand nemen we hier de maand van vandaag, min één (dat geeft dus vorige maand); voor Dag houden we de dag van vandaag, en voor Jaar het jaar van vandaag.

Als we vorig jaar hadden gewild, hadden we van dat jaar één kunnen aftrekken, en ga zo maar door.

Meer info vind je in de handleiding bij de verklaring van de Date-functies en nog wat uitleg in de AVD-tips (ik dacht ergens rond de 80).

  • 0
Posted (edited)

Tigerbaby,

 

jaren geleden heb ik eens tussen de soep en de patatten een agenda in elkaar gestoken voor een relatie van me. hij wilde die agenda gebruiken via de WebCompanion op zijn intranet. De FM-interface is daarom niet "je dat", maar wellicht heb je iets aan de scripts en relaties die er achter steken.

 

Stuur me een email als je een kopietje wil.

Edited by Guest
  • 0
Posted
Ik ben niet zo echt weg met die datumformules.

 

Toch kan je daar leuke dingen mee. Die formule lost namelijk de maand overgangen heel elegant op.

Als je bijvoorbeeld

Date(month(status(currentdate)) , day(status(currentdate)) + 23 , year(status(currentdate)))

gebruikt, dan zoekt FM wel uit of dat een volgende maand of zelfs een volgend jaar is.

Nog even in gewoon nederlands: ik ben op zoek naar de datum van drie en twintig dagen na vandaag.

 

rmw

  • 0
Posted

Date(month(status(currentdate)) , day(status(currentdate)) + 23 , year(status(currentdate)))

 

Nog even in gewoon nederlands: ik ben op zoek naar de datum van drie en twintig dagen na vandaag.

 

 

Hoi,

Ofwel ontgaan mij een paar dingen hier, ofwel weet ik meer; en waarom zou ik dat voor mezelf houden nietwaar?

(status(currentdate)) + 23
Calculation result is date

doet precies wat je daar in het nederlands omschrijft.

typecasting heet dat met een moeilijk woord.

Zo is vandaag in de filemakertelling dag 731643 (na christus, ja) want:

status(currentdate)
Calculation result is number

geeft 731643

Omgekeerd gaat ook en bespaart heel wat puzzelwerk met datumfuncties, die, naar ik vermoed, bedoeld zijn voor het zwaardere werk.

 

de groeten,

  • 0
Posted

Klopt helemaal.

 

Het voorbeeld is niet goed gekozen.

De bedoeling was om aan te geven dat je je geen zorgen hoeft te maken over maand of jaarovergangen met een datumberekening in FM.

 

Zelfs het volgende wordt door FM zonder problemen omgezet in een geldige datum:

Date(12 , 43 , 2004)

hoewel 43 december 2004 natuurlijk helemaal niet bestaat komt deze berekening netjes op 12 januari 2005 uit.

 

Het geheim zit 'em inderdaad in het omzetting die intern plaatsvindt naar een serieel getal.

 

rmw

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