Arbeitstage-Wochentage zählen
Ich habe folgende Angaben:
Workday: Anzahl der Arbeitstage
Start: Datum Beginn
Ich möchte eine Schleife von Start so lange durchlaufen bis ich die Gesamtdauer (mit Sa und So) habe.
Dazu habe ich folgende Funktion ersucht, aber es ist irgendwie der Wurm drin.
function kalk_Dauer(Workday : number,Start : date) do
let AT := 0;
let WT := 0;
Workday := Workday + 1;
while AT < Workday do
if weekday(Start) < 5 then AT = AT + 1 end;
Start := Start + 1;
WT := WT + 1
end;
WT
end;
Hat jemand dazu eine Idee ??
9 Antworten
-
Wie wird die Zahl für Workday ermittelt? cnt() aus einer Tabelle oder Anzahl zwischen zwei Datumsfeldern?
Bekommst Du eine Endlosschleife, wenn Du die Funktion so aufrufst?
Weil wenn ich den Code richtig verstehe, würde while AT < Workday immer zutreffen weil AT nur erhöht wird, wenn Start im Verlauf kein Sa/So ist. Wenn AT aber bei einem Sa noch kleiner wie Workday ist, wird das immer so weitergehen, weil AT nicht mehr erhöht wird.
Was möchtest Du mit WT am Ende machen? Ein Datum berechnen? Vielleicht gibt es einen anderen Weg. Aber dafür bräuchte ich mehr Infos, wo die Werte für die Funktionsvariablen herkommen und was am Ende das Ziel ist und am besten, was für Felder/Tabellen zur Verfügung stehen.
Content aside
- vor 11 MonatenZuletzt aktiv
- 9Antworten
- 96Ansichten
-
3
Folge bereits