Ik kan mij heel goed voorstellen als nu te veel vraag, maar ik waag het er toch op…
Nu heb ik van elk schip de meest recente keuring. Prachtig!
Ik wil nog een stapje verder: ik wil in het rapport ook laten zien wanneer het schip aan de beurt is voor welke volgende keuring.
De volgorde van de soorten keuringen ligt vast:
Initial
Annual 0.1 (‘verjaardag’ = Initial + 1 jaar)
Annual 0.2 (=Initial + 2 jaar)
Renewal 1 (=Initial + 3 jaar)
Annual 1.1 (=Renewal 1 + 1 jaar)
Annual 1.2 (=Renewal 1 + 2 jaar)
Renewal 2
Annual 2.1
Annual 2.2
Etc.
Het vervelende is, dat de regels per type keuring verschillen:
Initials/renewals:
Interval: 3 jaar, keuring moet in de periode ‘verjaardag’ -/- 6 maanden gedaan zijn.
Annuals:
Interval: 12 resp. 24 maanden na een initial of renewal. Keuring moet in periode 3 maanden voor of 3 maanden na verjaardag gebeuren.
Om de status van een schip te bereken (of hij al dan niet ‘overtijd’ is), dacht ik aan een verjaardagsconstructie;
Bijvoorbeeld:
(av_r1 staat voor anniversary renewal 1, drie jaar na initial dus)
Ik bereken de verjaardag van renewal 1 als volgt: av_r1 = DateAdd(q;12;)
De keuring moet plaatsvinden tussen = DateAdd(q;10;)
en voor av_r1.
Om op het rapport te laten zien wat de status van het schip op dit moment is, heb ik de volgende formule: Status=IIf(>Now() And