Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Anzahl der Tage mit gleichen Tätigkeiten zählen

Begonnen von Laucha, September 01, 2013, 22:30:44

⏪ vorheriges - nächstes ⏩

Laucha

Hallo zusammen,

in einem Access 2007 Bericht habe ich für verschiedene Mitarbeiter eine Liste mit :
Datum, Login, Logout, Tätigkeit ( Arbeit/Krank/Urlaub), Arbeitszeit ( berechnet über login und logout)
das funktioniert so sehr gut.
Als zusammenfassung wird die Anzahl der Tage mit Urlaub, Krank und Arbeit gezählt.

Wenn jetzt ein Mitarbeiter sich am gleichen Tag mehrmals An- und Abmeldet, dann habe ich zu viele Arbeitstage in der Summe.
Das ist beispielsweise so bei einer Arbeitsunterbrechung zur Mittagspause die jedoch nicht jeder immer macht.

Wie kann ich also die Tätigkeit "Arbeit" zählen und diese doppelzählung zu vermeiden?

Grüße
Laucha

[Anhang gelöscht durch Administrator]

Stapi

Hallo Laucha

Wahrscheinlich legst du bei jeder deiner Anmeldung einen neuen Datensatz mit dem Tagesdatum an, auf dem du dann die Berechnung deiner Arbeitstage ausführtst, was nun dazu führt das die Arbeitstage zu hoch berechnet.
Das Tagesdatum gehört in eine Tabelle 1:n die Erfasten Stunden in eine zweite Tabelle (An.- Abmeldungen)
Grüße aus dem schönen NRW
Stefan

Maxel

ZitatWahrscheinlich legst du bei jeder deiner Anmeldung einen neuen Datensatz mit dem Tagesdatum an, auf dem du dann die Berechnung deiner Arbeitstage ausführst
Das ist der richtige Weg - die Anzahl der Arbeitstage ergibt sich aus der Anzahl der (nach Datum) gruppierten Datensätze.

ZitatDas Tagesdatum gehört in eine Tabelle 1:n die Erfasten Stunden in eine zweite Tabelle (An.- Abmeldungen)
Das ist der umständliche Weg - und mit Mehraufwand verbunden.
Viele Grüße
Maxel

Stapi

Hallo Maxel

ZitatZitatWahrscheinlich legst du bei jeder deiner Anmeldung einen neuen Datensatz mit dem Tagesdatum an, auf dem du dann die Berechnung deiner Arbeitstage ausführst
Das ist der richtige Weg - die Anzahl der Arbeitstage ergibt sich aus der Anzahl der (nach Datum) gruppierten Datensätze.

Wenn dem so wäre würde das Ergebnis nicht erhaus kommen
Zitat von Laucha:
ZitatWenn jetzt ein Mitarbeiter sich am gleichen Tag mehrmals An- und Abmeldet, dann habe ich zu viele Arbeitstage in der Summe.
Das ist beispielsweise so bei einer Arbeitsunterbrechung zur Mittagspause die jedoch nicht jeder immer macht.
Grüße aus dem schönen NRW
Stefan

Laucha

Hallo Maxel und Stapi,

die Stundendaten bekomme ich monatlich in einer Excel-Datei aus einem anderen Programm. Die Stundendaten liegen in meiner Access Anwendung alle in einer Tabelle. In der Tabelle gibt es einen Eintrag immer mit: Datum, Personalnummer, Login, Logoff, Tätigkeitsschlüssel.
Es gibt dann noch Tabellen zu Mitarbeiterdaten, Nachtstundendefinition und Tätigkeiten. Ich bin ganz froh, dass alles gut funktioniert, denn ich hab schon recht lange gebraucht bis mit den Nacht- und Sonntagsstunden alles funktioniert hat.

Für mein Problem hatte ich eher eine Lösung mit einer Formel im Steuerelementinhalt gedacht nach dem Motto:
"Zähle die Tage an denen Arbeitszeit steht aber gleiche Tage nicht doppelt zählen"
Mit Gruppieren hab ich´s schon probiert, hat aber nicht hingehauen.

Der Fall mehrerer Einträge ist in meinem Fall eher ein Problem bei wenigen Mitarbeitern und ich wollte da nicht gleich mit der großen Nadel umstricken.


69bruno

ZitatMit Gruppieren hab ich´s schon probiert, hat aber nicht hingehauen

Und wie Du das gemacht hast, solltest Du dem Forum anvertrauen.
Denn warum das nicht geklappt hat, wird hier schnell ermittelt.
If Brain <= requestoutofPost then
  PostonForum "Ich verstehe Dein Problem nicht....."
Else
  PostonForum "Denk erst mal über die Normalisierung nach......"
End If

Laucha

Hallo 69bruno,

Das Datum habe ich im Bericht über Gruppieren/Sortieren versucht zu gruppieren. Die Arbeitstage, Urlaubstage und Feiertage werden in der zum Bericht gehörenden Abfrage nach dem Schlüssel angezeigt (Arb_Tage: Wenn([Tätigkeit]="Arbeitszeit";1))  und die zähle das im Bericht einfach zusammen. So bekomme ich im Seitenkopf die jeweiligen Tage im gewählten Zeitraum.

69bruno

Hallo mal wieder. Nach kurzer Abwesenheit melde ich mich zurück.

Da ich jetzt mal davon ausgehe, dass du für den Bericht alle Daten brauchst und nicht bereits die Abfrage gruppiert werden kann, bleibt wohl erst mal nur die Variante der Aggregatfunktion oder die des Unterberichtes, der auf einer gruppierten Abfrage beruht.......
If Brain <= requestoutofPost then
  PostonForum "Ich verstehe Dein Problem nicht....."
Else
  PostonForum "Denk erst mal über die Normalisierung nach......"
End If