Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Im ersten Teil dieser Artikelreihe haben Sie die Tabelle zum Speichern der Basisdaten der Feiertage sowie die Formulare zum Verwalten der Feiertage sowie für die Zuordnung zu den Bundesländern kennengelernt. Im vorliegenden zweiten Teil schauen wir uns an, wie die flexiblen Feiertage ermittelt werden und wie Sie aus den ermittelten Informationen eine Liste der Feiertage für einen bestimmten Zeitraum erstellen können.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1302_FeiertageErmitteln.mdb.
Fixe und flexible Feiertage
Die fixen Feiertage finden immer am gleichen Datum statt: Neujahr am 1. Januar, Heilige drei Könige am 6. Januar, der Maifeiertag am 1. Mai et cetera. Diese vermerken wir in der Tabelle tblFeiertageBasis, indem wir den Namen des Feiertags eintragen, den Tag und den Monat festlegen, das Feld TageBisStichtag leer lassen und das Feld FeiertagArt mit Datum konstant füllen (siehe Bild 1).
Bild 1: Basisdaten zu den Feiertagen
Für die flexiblen Feiertage, von denen es zwei Varianten gibt, tragen wir ebenfalls den Feiertagnamen ein. Für den Tag und den Monat legen Sie allerdings jeweils den Wert 0 fest. Dafür tragen Sie im Feld TageBisStichtag einen Zahlenwert ein, der angibt, wieviele Tage der Feiertag vor oder hinter dem jeweiligen fixen Tag liegt. Um festzulegen, um welche Variante der flexiblen Feiertage es sich handelt, tragen Sie unter Feiertagsart entweder Abstand zu Stichtag Ostersonntag konstant oder Abstand zu Stichtag Vierter Advent konstant ein.
Stichtage für flexible Feiertage
Nun benötigen wir noch die Stichtage für die beiden flexiblen Feiertage, und zwar für Ostersonntag und für den vierten Advent. Im Falle des vierten Advents ist dies einfach: Es handelt sich dabei um den letzten Sonntag vor dem ersten Weihnachtsfeiertag. Um diesen Stichtag zu berechnen, verwenden Sie die Funktion aus Listing 1. Die Prozedur erwartet die Zahl des zu untersuchenden Jahres als Parameter mit dem Datentyp Integer (für Werte bis 32.767) und liefert einen Wert des Typs Date zurück (siehe Bild 2).
Bild 2: Test der Funktion zum Ermitteln des vierten Advents
Die Funktion füllt eine temporäre Variable namens datTemp mit einem Datum, dass dem 24. Dezember des angegebenen Jahres entspricht. Dazu setzt es die Zeichenkette 24.12. und die mit der Variablen lngJahr übergebene Jahreszahl zusammen und konvertiert den Ausdruck mit der Funktion CDate zu einem Datumswert zusammen.
Dies könnten Sie theoretisch auch mit der DateSerial-Funktion erledigen. Die entsprechende Zeile sieht dann wie folgt aus:
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo