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.
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.
Vielen Dank, musste zwar etwas probieren, aber es funktioniert. Hatte mir nur vorgestellt, dass Access diese Funktion inclusive besitzt.
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.