Datum berekening

Status
Niet open voor verdere reacties.

Ed Beetsma

Nieuwe gebruiker
Lid geworden
6 jul 2009
Berichten
4
Ik ben momenteel bezig met een query, waarbij een doorlooptijd wordt berekend. Het gaat hierbij om het verschil tussen de datum binnenkomst en de datum van verzending. Het probleem is dat er een aantal momenten zijn, waarbij de doorlooptijd wordt stopgezet. Daarbij gaat het ook weer om een aantal datums, die dus van het eindresultaat moeten worden afgetrokken. Zolang alle datums maar worden gebruikt is het geen probleem, maar als één van deze velden leeg blijft, dan herkent de berekening deze niet en is het uiteindelijke eindresultaat leeg. Kan iemand mij hiermee helpen? Het gaat er dus om, dat de tussenresultaten (de zgn. stopmomenten) ook worden herkent (als 0) zelfs al staan ze niet ingevuld.
 
Berekening stopmomenten

Dit is de berekening

SELECT DISTINCTROW [Hoofd Tabel].Parketcode, [Hoofd Tabel].[Dossier ID], [Hoofd Tabel].[Binnenkomst Verzoek], [Hoofd Tabel].[Datum beslissing], [Hoofd Tabel].Beslissing, ([Hoofd Tabel]![Gfg in])-([Hoofd Tabel]![Gfg uit]) AS [Stopmoment Gfg], ([Hoofd Tabel]![Vonvol1 in])-([Hoofd Tabel]![Vonvol1 uit]) AS [Stopmoment Vonvol1], ([Hoofd Tabel]![Vonvol2 in])-([Hoofd Tabel]![Vonvol2 uit]) AS [Stopmoment Vonvol2], ([Hoofd Tabel]![Aanhouding in])-([Hoofd Tabel]![Aanhouding uit]) AS [Stopmoment Aanhouding], ([Hoofd Tabel]![Datum beslissing])-([Hoofd Tabel]![Binnenkomst Verzoek]) AS [Doorlooptijd Totaal], ([Doorlooptijd Totaal])- ( [Stopmoment Gfg])-([Stopmoment Vonvol1])-([Stopmoment Vonvol2])-([Stopmoment Aanhouding]) AS [Doorlooptijd-Stopmomenten]

FROM [Hoofd Tabel]

WHERE ((([Hoofd Tabel].[Datum beslissing]) Between [Eerste Datum "Datum beslissing":] And [Laatste Datum "Datum beslissing":]) AND (([Hoofd Tabel].Beslissing)="Afwijzer"))

ORDER BY ([Hoofd Tabel]![Datum beslissing])-([Hoofd Tabel]![Binnenkomst Verzoek]) DESC;
 

Bijlagen

Je zou deze variant eens kunnen proberen voor de berekening:

SELECT DISTINCTROW
[Hoofd Tabel].Parketcode,
[Hoofd Tabel].[Dossier ID],
[Hoofd Tabel].[Binnenkomst Verzoek],
[Hoofd Tabel].[Datum beslissing],
[Hoofd Tabel].Beslissing,
([Hoofd Tabel]![Gfg in])-([Hoofd Tabel]![Gfg uit]) AS [Stopmoment Gfg],
([Hoofd Tabel]![Vonvol1 in])-([Hoofd Tabel]![Vonvol1 uit]) AS [Stopmoment Vonvol1],
([Hoofd Tabel]![Vonvol2 in])-([Hoofd Tabel]![Vonvol2 uit]) AS [Stopmoment Vonvol2],
([Hoofd Tabel]![Aanhouding in])-([Hoofd Tabel]![Aanhouding uit]) AS [Stopmoment Aanhouding],
([Hoofd Tabel]![Datum beslissing])-([Hoofd Tabel]![Binnenkomst Verzoek]) AS [Doorlooptijd Totaal],
([Doorlooptijd Totaal])- ( Nz([Stopmoment Gfg];0))-(Nz([Stopmoment Vonvol1];0))-(Nz([Stopmoment Vonvol2];0))-(Nz([Stopmoment Aanhouding];0)) AS [Doorlooptijd-Stopmomenten]
FROM [Hoofd Tabel]

WHERE ((([Hoofd Tabel].[Datum beslissing]) Between [Eerste Datum "Datum beslissing":] And [Laatste Datum "Datum beslissing":]) AND (([Hoofd Tabel].Beslissing)="Afwijzer"))

ORDER BY ([Hoofd Tabel]![Datum beslissing])-([Hoofd Tabel]![Binnenkomst Verzoek]) DESC;

Ik vermoed dat hij stukloopt op een Null-waarde in één van de stopmomenten.

Michel
 
Syntaxisfout

Dank je wel voor je reactie, maar ik krijg een syntaxisfout (zie bijlage). De oplossingsrichting is in ieder geval wel goed, maar het werkt nog niet correct.
 

Bijlagen

Oplossing

Voor Octafish. Bedankt voor je oplossing. Het is me gelukt door de 0 te verwijderen in je variant en alleen de Nz toe te voegen. Het werkt nu perfect.
 
Mooie functie toch, die Nz... :D

Michel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan