Hi,
Ik heb een probleem met access. Mijn kennis is beperkt maar ik probeer het zo goed mogelijk uit te leggen.
Wat ik graag wil doen is tijd berekenen tussen records. Operators op mijn werk scannen hun naam en taak in een access formulier en deze hangt er automatisch een timestamp aan. De data wordt als volgt aangeleverd in een tabel:

Om dit te verwerken heb ik de volgende query geschreven (gedeelte van internet gehaald).
SELECT sub2.Opr, sub2.Task,
Format(Sum(Nz(sub2.duration,0)),'hh:nn:ss') AS SumOfduration
FROM (SELECT
sub1.Opr, Task,
(sub1.next_timestamp - sub1.timestamp) AS duration
FROM
(
SELECT
i.Opr,
i.Task,
i.timestamp,
(
SELECT Min([timestamp])
FROM Activity_Scanned
WHERE [timestamp] > i.timestamp
) AS next_timestamp
FROM Activity_Scanned AS i
WHERE i.timestamp BETWEEN #2016-02-17 06:00:00#
AND #2016-02-17 18:00:00#
) AS sub1
) AS sub2
GROUP BY sub2.Opr, sub2.Task;
Deze querry berekent wel de tijd tussen records maar specificeert dat niet per operator per taak. Wat ik ook graag zou willen is dat als een operator nog niet een volgende taak heeft gescanned, dat access dan bij houdt hoe lang deze operator al aan de taak werkt. Zodat ik een realtime beeld krijg welke taken worden uitgevoerd, hoe lang en door wie.
Ik hoop dat iemand mij kan helpen. Bij voorbaat dank!
Groet,
Carlos
Ik heb een probleem met access. Mijn kennis is beperkt maar ik probeer het zo goed mogelijk uit te leggen.
Wat ik graag wil doen is tijd berekenen tussen records. Operators op mijn werk scannen hun naam en taak in een access formulier en deze hangt er automatisch een timestamp aan. De data wordt als volgt aangeleverd in een tabel:

Om dit te verwerken heb ik de volgende query geschreven (gedeelte van internet gehaald).
SELECT sub2.Opr, sub2.Task,
Format(Sum(Nz(sub2.duration,0)),'hh:nn:ss') AS SumOfduration
FROM (SELECT
sub1.Opr, Task,
(sub1.next_timestamp - sub1.timestamp) AS duration
FROM
(
SELECT
i.Opr,
i.Task,
i.timestamp,
(
SELECT Min([timestamp])
FROM Activity_Scanned
WHERE [timestamp] > i.timestamp
) AS next_timestamp
FROM Activity_Scanned AS i
WHERE i.timestamp BETWEEN #2016-02-17 06:00:00#
AND #2016-02-17 18:00:00#
) AS sub1
) AS sub2
GROUP BY sub2.Opr, sub2.Task;
Deze querry berekent wel de tijd tussen records maar specificeert dat niet per operator per taak. Wat ik ook graag zou willen is dat als een operator nog niet een volgende taak heeft gescanned, dat access dan bij houdt hoe lang deze operator al aan de taak werkt. Zodat ik een realtime beeld krijg welke taken worden uitgevoerd, hoe lang en door wie.
Ik hoop dat iemand mij kan helpen. Bij voorbaat dank!
Groet,
Carlos