Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: user13 am November 21, 2015, 10:55:12

Titel: Anwesenheit pro Monat berechnen
Beitrag von: user13 am November 21, 2015, 10:55:12
Hallo, ich habe folgendes Problem.
Ich möchte die Anwesenheit in Tagen monatsübergreifend in Access 2010 berechnen.
Ich erhalte aber nur den Zähler im Startmonat mit dem Ausdruck
Jan 2015: DatTeil("m";[Fallstartdatum])=1 , bzw. die Gesamttage für den Zeitraum mit Jan 2015: DatTeil("t";[Fallstartdatum])siehe Bild.
Es sollen aber die Tage pro Kalendermonat ermittelt werden.
Titel: Re: Anwesenheit pro Monat berechnen
Beitrag von: ebs17 am November 21, 2015, 12:16:53
Empfehlenswert wäre die Verwendung einer Kalendertabelle (Grundlagen - SQL ist leicht (3) - Kalendertabelle (http://www.ms-office-forum.net/forum/showthread.php?t=298670)), womit sich die vorhandenen Zeiträume in Tage auflösen lassen.

SELECT
   D.id,
   K.Kalendertag,
   K.JahrUndMonat
FROM
   Kalendertabelle AS K,
   DeineTabelle AS D
WHERE
   K.Kalendertag BETWEEN D.Fallstartdatum
      AND
   D.Fallendedatum


Diese Einzeltage kannst Du dann wie gewünscht weiterverarbeiten (Gruppieren + Aggregieren, Kreuztabellenabfrage usw.).

Über die Kalendertabelle könnte man zusätzlich Wochenenden, Feiertage, Werksferien und andere Nichtanwesenheitsanlässe berücksichtigen und zu echten Anwesenheiten kommen.
Titel: Re: Anwesenheit pro Monat berechnen
Beitrag von: user13 am November 22, 2015, 10:48:46
Vielen Dank, musste zwar etwas probieren, aber es funktioniert. Hatte mir nur vorgestellt, dass Access diese Funktion inclusive besitzt.
Titel: Re: Anwesenheit pro Monat berechnen
Beitrag von: ebs17 am November 22, 2015, 12:57:27
Datenbankarbeit ist vorrangig Arbeit mit Tabellen(!)Daten. Für zusätzliche Arbeiten kann man sich passende Tabellen schaffen, die dieser nativen Arbeitsweise entsprechen.

Daher sind Hilfstabellen für mich selbstgeschaffen inklusive wie für ein Kind sein Schlafkuscheltier.