Servus!
in meiner Tabelle habe ich Zeitstempel für Tätigkeiten je Mitarbeiter:
9:15 | 50
10:05 | 25
10:30 | 77
....
wobei sich die Dauer der Tätigkeiten aus 10:05 minus 9:15 = 50 usw. ergibt.
und genau für die Ermittlung der Dauer einer Tätigkeit brauche ich Inspiration.
Es geht mir nicht um die Funktion DatDiff
Vielen Dank vorab schon mal für Eure Unterstützung!
LG
Peter
SELECT
T.Zeitstempel,
Nz(
(
SELECT
MAX(X.Zeitstempel)
FROM
TabelleX
WHERE
X.Zeitstempel < T.Zeitstempel
)
, 0) AS Vorzeit
FROM
TabelleX AS T
Glück Auf!
Dein Code liefert:
Zeitstempel|Vorzeit
1 |0
3 |1
5 |3
8 |5
13 |8
16 |13
17 |16
ich benötige:
Zeitstempel|Vorzeit
1 |2
3 |2
5 |3
8 |5
13 |3
16 |1
17 |
Tätigkeitsdauer zum Zeitstempel1 = 2 = 3-1
Tätigkeitsdauer zum Zeitstempel8 = 5 = 13-8
:-[
aber schon mal ein fettes Danke!
LG
Peter
ZitatEs geht mir nicht um die Funktion DatDiff
Das hatte ich pauschal als Aussage dazu verstanden, dass Du aus zwei Feldern alleine eine Differenz bilden kannst, wenn sie erst einmal in einer Zeile sind. Habe ich mich da getäuscht?
In meinem Code wird zu einem Datensatz der Vorgänger und dessen Wert ermittelt. Wenn nun stattdessen der Nachfolger gesucht wird, ist das nichts anderes als nur eine Logikumkehr in der Unterabfrage. So etwas sollte man selber hinbekommen, schon um zu unterstreichen, dass man den Ansatz auch versteht.
Das hatte ich pauschal als Aussage dazu verstanden, dass Du aus zwei Feldern alleine eine Differenz bilden kannst, wenn sie erst einmal in einer Zeile sind. Habe ich mich da getäuscht?
Nein, natürlich nicht
So etwas sollte man selber hinbekommen, schon um zu unterstreichen, dass man den Ansatz auch versteht.
Dann probiere ich das mal
LG
Peter
Hello,
habs hinbekommen,
für den Nachfolgeer wird "max" durch "min" und "<" durch ">" ersetzt.
Sehr geiler Code!
vielen Dank nochmal!
LG Peter