Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: ellinho am Januar 10, 2012, 15:11:10

Titel: Abwesenheitsberechnung in Personalverwaltung
Beitrag von: ellinho am Januar 10, 2012, 15:11:10
Hallo zusammen.
Ich habe eine Berechnung der Abwesenheitstage (Urlaub, Krankheit usw.) in meiner Personalverwaltung, die leider nicht immer funktioniert.
Habe ich einen Datensatz 27.12.2010 - 05.01.2011 als Urlaub bei einem Mitarbeiter drin stehen, rechnet er mit der folgenden Funktion nur korrekt, wenn das aktuelle Tagesdatum sich in 2011 befindet. Führe ich die Funktion heute aus, rechnet er vom 27.12.2010 - 05.01.2012. Was stimmt an der Funktion nicht ? Hat das etwas mit der Variablen "aktTag" zu tun?

Public Function AnzArbTageMA(VMDatumvon As Date, VMDatumbis As Date, strMAID As String) As Long
Dim aktTag As Date
For aktTag = VMDatumvon To VMDatumbis
    If IstArbeitstag(aktTag, strMAID) Then
    AnzArbTageMA = AnzArbTageMA + 1
    End If
Next
End Function

Ich hoffe, mir kann da jemand helfen.

Gruß, Karsten
Titel: Re: Abwesenheitsberechnung in Personalverwaltung
Beitrag von: MzKlMu am Januar 10, 2012, 15:56:07
Hallo,
am einfachsten macht man das mit einer Hilfstabelle die alle Datumswerte eines Zeitraums erfasst. Feiertage sind in dieser Tabelle anzuhaken.
Dann lässt sich mit einer einfachen DCount Funktion die Anzahl der Arbeitstage zwischen 2 beliebigen Datumswerten ermitteln.

Beispieldb anbei. Im Beispiel gibt es ein Formular Erläuterungen, bitte lesen.

[Anhang gelöscht durch Administrator]
Titel: Re: Abwesenheitsberechnung in Personalverwaltung
Beitrag von: ellinho am Januar 10, 2012, 16:07:07
@MzKlMu
Danke für die Antwort.
Leider ist es nicht ganz so einfach gewesen, da verschiedene Mitarbeiter an manchen Wochentagen gar nicht arbeiten. Somit zählen manche Abwesenheitstage nicht. Es wurden deshalb pro Mitarbeiter die Felder SollstdMo, SollstdDi, SollstdMi usw. definiert. Eine Funktion für die Berechnung der Feiertage steht auch noch dahinter. Die Berechnung funktioniert ja auch normalerweise. Allerdings bekomme ich jedes Jahr im Januar das Problem, dass wenn ein jahresübergreifender Datensatz (wie in diesem Fall 27.12.2010 - 05.01.2011) vorhanden ist, die Berechnung fehlerhaft erfolgt (in diesem Fall vom 27.12.2010 - 05.01.2012 und nicht bis zum 05.01.2011).
Vielleicht hat jemand noch eine Idee.
Danke.
Gruß, Karsten
Titel: Re: Abwesenheitsberechnung in Personalverwaltung
Beitrag von: ellinho am Januar 10, 2012, 18:54:02
Hallo Leute.

Habs gelöst bekommen. Manchmal sieht man vor lauter Bäumen den Wald nicht.  :)
Ein Abfragefeld für den Datumsaufbau war falsch definiert und "bastelte" immer ein falsches Enddatum zusammen.
Trotzdem Danke.

Gruß, Karsten