Feiertage berechnen und berücksichtigen - Teil 2

Neben Feiertagen die sich berechnen lassen, gibt es auch solche, deren Termine feststehen. Diese Feiertage können Sie in einer Tabelle oder Textdatei erfassen und dann ebenfalls berücksichtigen. Wie das geht und wie Sie dann auch die fertige Klasse anwenden, erfahren Sie in diesem zweiten Teil der Artikelfolge.

Zur Erfassung der Feiertage gibt es im Prinzip zwei Möglichkeiten: Sie verwenden eine Datenbanktabelle oder eine Textdatei mit Trennzeichen. Die Textdatei bietet sich vor allem an, wenn Sie die Klasse auch in anderen VBA-Hostanwendungen nutzen möchten. In Access haben Tabellen natürlich den Vorteil, dass Sie sie einfach abfragen können. Allerdings setzt das dann voraus, dass Sie diese Tabelle immer erst in der Datenbank erstellen, in der Sie die Klasse nutzen möchten.

Daher wird trotz der Vorteile, die Tabellen bieten, nachfolgend der Umgang mit einer Textdatei mit Trennzeichen gezeigt. Das hat dann den positiven Nebeneffekt, dass Sie die Klasse ohne Einschränkungen auch in Word oder Excel nutzen können. Sie müssen sie dann nur in das Verzeichnis der Datenbank, Excel- oder Word-Datei kopieren, in der Sie die Klasse verwenden möchten.

Aufbau der Textdatei

Um den Namen des Feiertags ermitteln und ihn bei Bedarf auch einem Land zuordnen zu können, benötigen Sie vier Spalten in der Textdatei. In die ersten beiden schreiben Sie das Datum des Feiertags, bestehend aus dem Tag des Monats in der ersten und dem Monat in der zweiten Spalte. Die dritte Spalte enthält den Namen des Feiertags, und die vierte das Land, beispielsweise Deutschland oder ein Kürzel wie "D" für das Land, in dem es den Feiertag gibt. Die einzelnen Spalten trennen Sie durch Semikolons ab. Das Datum geben Sie in der Form TT;MM, also ohne Jahresangabe ein. Die ist nicht notwendig, weil der Feiertag ja in jedem Jahr gültig ist.

Den Namen der Datei können Sie frei wählen. Sie übergeben ihn später zusammen mit dem Pfad an die Klasse. Wichtig ist allerdings, dass Sie die Datei als Textdatei speichern und jeder Datensatz in einer separaten Zeile steht.