PDA

Vollständige Version anzeigen : Schichtplan


CptChaos
06.05.2004, 08:26
Guten Morgen zusammen,

Habe schon über die Suche versucht was zu finden, bin aber nur bedingt weitergekommen.

Folgender Hintergrund:
Wir sind in der Abteilung ca. 20 Personen und arbeiten im Schichtbetrieb.
ABER:
Immer nur 2 Leute pro Woche haben Schicht (1 Früh-, 1 Spätschicht).
Momentan wird unser Schichtplan manuell über Excel gemacht.
Also Kreuzchen setzen, wer wann wo welche Schicht hat... was natürlich sehr aufwändig ist.
Generell läuft es so ab, das ich (wie jeder andere) alle 5 Wochen eine Schicht habe (Früh/Spät im Wechsel).

Dies möchte ich nun automatisieren.
Sprich ich trage in einen Kalender im Access feste Abwesenheiten der Mitarbeiter ein (z.B. Seminare, Urlaube, etc.) und anschliessend möchte ich möglichst auf Knopfdruck die Schichten gemäss obigem Schema verteilen.

Viel Text, danke wer jetzt noch weiterliest ;)
Hat jemand schonmal sowas gemacht und kann mir evtl. Tips geben, wie ich es anpacke?
Bin für jeden Denkansatz dankbar.

Achja, die Mitarbeitertabelle besteht bereits in der Form
Personalnummer | Nachname | Vorname | Telefon

oliverV
06.05.2004, 11:15
Hallo CptChaos,

ich habe mal so ein bisschen ins „Unreine“ probiert.

Tabelle Mitarbeiter ist klar, als erstes benötigst du eine Reihenfolge (evtl. die Personalnummer, Namen alphabetisch, oder ein Reihenfolgefeld).

Die Verwaltung der Abwesenheiten würde ich in einer separaten Tabelle vornehmen, sinnvoll ist es sicherlich die Abwesenheiten in Kalenderwochen zu führen, denn selbst wenn ein Mitarbeiter nur 2 Tage in einer Woche fehlt, kann er ja keine komplette Schicht in der Woche übernehmen. Ich würde die KW auch als Jahr-KW führen (2004-19), dann hast du beim Jahreswechsel keine Probleme.

Mein Ansatz wäre es, das in der 1. KW die beiden Mitarbeiter mit der niedrigsten Personalnummer (bzw. Reihenfolge) Schicht haben, sofern in der Abwesenheitstabelle für diese KW kein Eintrag vorhanden ist.
In der 2. KW die nächsten Mitarbeiten.

Um die „nächsten“ Mitarbeiter zu ermitteln könnte ich mir ein Zählfeld „geleistete Schichten“ in einer Tabelle vorstellen.
Das Kriterium wäre dann, niedrigste „geleistete Schichten“ – Niedrigste Personalnummer (sofern nicht Abwesend).

Aber ich glaube genau dort ist auch das Problem, denn die Abwesenheit ist ja mit Sicherheit nicht immer langfristig bekannt (Krankheit, kurzfristige Termine); wenn sich z.B. heute herausstellt, das Mitarbeiter XY die nächste 2 Wochen nicht anwesend ist, er sonst aber nächste Woche Schicht hätte, wäre er nach dem Kriterium in 3 Wochen dran – es würden sich dann also auch die Schichten der anderen Mitarbeiter verschieben.

Ein weiteres Hindernis sehe ich in der Planung für Wochen nach der folgenden. Bei der nächsten Woche ist es klar, bei der übernächsten Woche greift das Kriterium ja nicht, da die Mitarbeiter für die nächste Woche heute ihre Schicht noch nicht geleistet haben (sich das Zählfeld „geleistete Schichten“ also noch nicht erhöht hat). Würde bedeuten, das du noch „geplante Schichten“ berücksichtigen musst.

Ich glaube mal das die Geschichte sehr komplex wird, wenn du wirklich „auf Knopfdruck“ einen Schichtplan für die nächsten Wochen bekommen möchtest, da du sehr viele „Eventualitäten“ berücksichtigen musst.

Mit Sicherheit nicht „die Lösung“, aber vielleicht die gewünschten Denkansätze.

Gruß

Oliver

oliverV
06.05.2004, 11:24
Nachtrag:
Ich habe nur von Schichten gesprochen, wenn du noch Früh- und Spätschicht trennen willst (also diese Woche Frühschicht, in sechs Wochen Spätschicht), dann bedeutet das zwei Zählfelder „geleistete Frühschicht“ und „geleistete Spätschicht“.

Du siehst es wird immer komplexer.

Gruß

Oliver

CptChaos
06.05.2004, 11:59
Hallo Oliver,

genau das ist das was mir zu schaffen macht.
Die Komplexität des ganzen.

Aber Deine Ideen bringen mich schon nen riesigen Schritt weiter.
Das ganze wird nur noch schwieriger, da es z.B. Leute gibt, die sich gegenseitig vertreten...
Ich höre mal lieber auf und schau mal wie weit ich mit den Ideen komme und melde mich ggf. nochmals.

Danke auf jeden Fall.