Aantal dagen tussen 2 datums in verschillende records

Status
Niet open voor verdere reacties.

jhdw

Gebruiker
Lid geworden
15 dec 2012
Berichten
166
Goedemorgen,

Ik hoop dat ik het goed kan uitleggen wat mijn bedoeling is. In het voorbeeld formulier kun je een nummer selecteren. Dan zie je een aantal records die gekoppeld zijn aan dat nummer. Het laatste record bevat altijd de schadedatum, het voorlaatste de reparatiedatum, enz. Nu zou ik graag in de "kolom" Aantal dagen het aantal dagen tussen de records hebben en in de kolom Cumulatief de som van de dagen. In het Excel voorbeeld heb ik 3 nummers geselecteerd en uitgewerkt hoe het er uit zou moeten zien.

Alvast bedankt voor de hulp

Gr. jan
 

Bijlagen

  • Status_helpmij.zip
    53,3 KB · Weergaven: 18
Je gebruikt op je formulier een functie die ontbreekt (fForm stDocName). Is die noodzakelijk? Zo ja: wat doet-ie?
 
Nog een puntje: normaal gesproken zou je iets kunnen doen met DSum, maar dat gaat hier niet op omdat er geen unieke records zijn te distilleren. Althans: niet in alle gevallen, zoals Nr. 110234. Die heeft twee acties op dezelfde dag. In dag geval moet je overstappen op een functie die de uitkomst berekent. Dat is nog wel te doen overigens.
 
Goedenavond Michel,

Het formulier komt uit een grote dB, vandaar dat er nog een aantal codes/knoppen in zitten die voor de vraag niet van toepassing zijn
De functie fForm gebruik ik om een formulier te openen. Ik heb nu alle code en knoppen die niks met de vraag van doen hebben eruit gegooid.
In de bijlage een nieuwe kale versie. Het is inderdaad zo dat op één datum meerdere statussen kunnen voorkomen. Voor de snelle jongens kan bijv. de schadedatum. reparatiedatum, nieuw, enz. op één dag vallen.

Het zou top zijn als je een functie zou kunnen schrijven voor mij.

Alvast bedankt voor de hulp.

Gr. Jan

Bekijk bijlage Status_helpmij (2).zip
 
Het is inderdaad zo dat op één datum meerdere statussen kunnen voorkomen. Voor de snelle jongens kan bijv. de schadedatum. reparatiedatum, nieuw, enz. op één dag vallen.
Dan is toch de huidige indeling van je tabel een vervelende dwarsligger, omdat het heel lastig wordt om de juiste records te pakken. Ook al is het voor iedereen logisch dat records die op dezelfde dag vallen een verschil van 0 hebben, voor de database functie moet het record op een simpele manier te herkennen zijn. In spreektaal: je moet kunnen bepalen a.d.h.v. de formule [Datum1] < [Datum2] wat het laatste record is; dit om dus gestandaardiseerd het verschil te kunnen uitrekenen. Dat gaat prima met een tabel waarin een datum (voor een case) altijd anders is, maar dus niet als de datums gelijk zijn. Ik snap eerlijk gezegd ook niet waarom je niet met de functie Now() de datums vastlegt. Het maakt niet uit hoe snel een behandelaar is: de kans dat hij in dezelfde microseconde twee acties uitvoert, lijkt mij verwaarloosbaar klein. En door dus ook de tijd vast te leggen in je datumveld, heb je wél dat onderscheid. En werkt dus ook de functie weer prima, omdat de datums uniek identificeerbaar zijn voor de functie.
 
De datums worden voor een deel (zoals bijv. schade en reparatie datum) via een tekstbestand vanaf een portal geïmporteerd. Andere datums worden wel door ons zelf gevuld. De laatste groep zou wel met de functie Now() gevuld kunnen worden maar de eerste groep volgens mij niet. Als ik het goed begrijp gaat dit in Access dus niet lukken . Als er toch nog andere mogelijkheden zijn, dan hoor ik het graag. Zo niet dan sluit ik deze vraag.

Gr. Jan
 
Het wordt wat lastiger; onmogelijk is wel gelijk een hele grote stap het ravijn in :).
 
Wat lastiger betekent voor mij dat het voor jou niet onmogelijk is. Zou je dan een poging willen doen? Ik ben heel benieuwd hoe deze oplossing er dan uit gaat zien.

Gr. Jan
 
Hallo Michel,

Ik ben nog weer met de dB bezig geweest. Het is me wel gelukt om het aantal dagen tussen 2 records te bepalen. Ik loop nog vast met het optellen van de dagen.
In de tabel "tbl_status_volgorder" heb ik de waardes in het veld "Volgorder" veranderd in waardes tussen 0 en 60. Daardoor kon ik dat veld gebruiken om een tijdnotatie aan het veld "HistDatun" (sorry voor de verkeerde spelling) toevoegen waardoor ik unieke datumwaardes heb (voor één cclaimnummer). Zoals eerder gezegd kan ik niet met Now() werken.

Bekijk bijlage Status_helpmij_2.zip

In de nieuwe dB zit query2 en daarmee heb ik nog een probleem met Cumulatief. Ik krijg daar een #Fout.

Om de query2 te starten eerst op het formulier een nummer kiezen, omdat ik in de queries met TempVars heb gewerkt.

Hopelijk kun je (of iemand anders) mij hiermee verder helpen.

Alvast bedankt

Gr. Jan
 
Ik zal daar morgen naar kijken als ik tijd heb. Vandaag gaat niet meer lukken vrees ik. Maar iemand anders mag natuurlijk ook een poging wagen :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan