datum 1e van de volgende maand

Status
Niet open voor verdere reacties.

kv41282

Gebruiker
Lid geworden
14 dec 2007
Berichten
91
Voor een berekening in een report programma moet ik een berekening maken zodat ik de datum zie van de eerste dag van de volgende maand.

Als we onderhoud aan een apparaat moeten doen, dan hebben we daar een bepaalde marge in tot wanneer het onderhoud uitgesteld zou mogen worden.
Dit is in principe 30 dagen na de geplande onderhoudsdatum. Dus ik tel hierom in de laatste regel van mijn formule 30 dagen bij mijn onderhoudsdatum.

If ISNULL({@MaintRange}) Then
{MaintDate}
Else
dateadd("d", 30, {MaintDate})

MAAR waar ik eigenlijk zou willen is dat ik dan ook nog eens een marge er in zou willen hebben zodat ik de 1e dag van de eerst volgende maand zou zien.

Dus mijn geplande onderhoudsdatum is bijvoorbeeld 24-04-2018 dit lezen wij als de gelande onderhoudsmaand is april. maar ik heb een toegestane overschrijding van 30 dagen (geeft 24-05-2018) MAar dan wil ik eigenlijk dat mijn formule 01-06-2018 geeft omdat ik dan een opmerking moet krijgen dat het onderhoud echt over het limiet is.

nog een keer kort uitgelegd: in mei staat het onderhoud gepland , maar ik mag er ook nog in mei over doen, dus op 1 juni moet het echt af zijn.
Ik weet dat er iets bestaat als eomonth-functie maar die kent mijn programma niet.
 
Worksheetfunction.eomonth of application.eomonth.
Code:
[a1] = application.eomonth(date, 0) + 1
 
Worksheetfunction.eomonth of application.eomonth.
Code:
[a1] = application.eomonth(date, 0) + 1

Ps. Natuurlijk heb ik wel een alternatief; die laat ik maar even achterwege totdat je betere/fatsoenlijker reacties geeft.
 
Laatst bewerkt:
Waarom staat dit in de Microsoft Office VBA sectie als het over Crystal Reports gaat?

Iets als dit:
Code:
dateserial(year({table.purchdate}), month({table.purchdate})+1,01)

Wel even in Format Field de eigenschappen op de gewenste waarde zetten.
 
Laatst bewerkt:
Ik krijg hierop een melding: aan de speciale variabele formule moet een waarde uit de formule worden toegewezen. Ik snap niet waarom
 
Ik dacht dat dat wel duidelijk was.
Je moet het resultaat van die functie in een variabele of object value zetten.
Bijvoorbeeld:
Code:
EersteVanVolgendeMaand = dateserial(year({table.purchdate}), month({table.purchdate})+1,01)
 
Ik krijg nu geen foutmelding meer op de formule, maar om onbekende reden kloppen de resultaten niet.
Het maakt niet uit welk getal ik optel bij de maand maar dan krijg ik altijd de 1e dag van de huidige maand.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan