{"id":55000787,"date":"2011-08-01T00:00:00","date_gmt":"2020-05-22T21:57:01","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=787"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Feiertage_dynamisch_ermitteln","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/","title":{"rendered":"Feiertage dynamisch ermitteln"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg04.met.vgwort.de\/na\/b0ad628935be46c9a10396f8ff3215b0\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Wenn Sie mit Access Termine verwalten, werden Sie auch Feiertage ber&uuml;cksichtigen wollen. Die entsprechenden Datumsangaben liefert Access leider nicht frei Haus &#8211; Sie m&uuml;ssen selbst eine entsprechende Funktion bereitstellen. Der vorliegende Beitrag zeigt, wie Sie die Feiertage ermitteln und wie Sie schnell pr&uuml;fen, ob ein Feiertag auf ein bestimmtes Datum f&auml;llt.<\/b><\/p>\n<p>Es gibt verschiedene Gruppen von Feiertagen: Solche, die jedes Jahr auf den gleichen Termin fallen (wie Neujahr, Weihnachten oder der Tag der deutschen Einheit), Tage, die vom Datum des Ostersonntags abh&auml;ngen, das auf komplizierte Art berechnet wird, und Tage, die vom Datum des vierten Advents abh&auml;ngen. Au&szlig;erdem m&uuml;ssen Sie bei der Ermittlung von Feiertagen ber&uuml;cksichtigen, dass es einige Feiertage nur in bestimmten Bundesl&auml;ndern gibt. So ist Heilige Dreik&ouml;nige am 6. Januar nur in drei Bundesl&auml;ndern ein Feiertag, in den &uuml;brigen Bundesl&auml;ndern wird gearbeitet.<\/p>\n<p><b>Tabellen oder reiner Code<\/b><\/p>\n<p>Vor dem Zusammenstellen der L&ouml;sung zu diesem Beitrag stand die Frage im Raum, ob man die Basisdaten zu den Feiertagen in Tabellen speichert oder ob man diese komplett per VBA-Code ermittelt. In Anbetracht dessen, dass die Feiertage nur alle Jubeljahre ge&auml;ndert werden, haben wir uns f&uuml;r die reine VBA-Variante entschieden &#8211; auch vor dem Hintergrund, dass Sie so nur ein einziges Standardmodul in Ihre Anwendung kopieren m&uuml;ssen, wenn Sie die dynamische Ermittlung der Feiertage verwenden m&ouml;chten. Der Einsatz einer reinen VBA-L&ouml;sung bedeutet zun&auml;chst, dass einige grundlegende Informationen in Enumerationen gespeichert werden. <\/p>\n<p>Die erste Enumeration hei&szlig;t <b>eBundesland <\/b>und nimmt alle Bundesl&auml;nder in Form entsprechender Konstanten und Zahlenwerte auf. Sie sieht so aus:<\/p>\n<pre>Public Enum eBundesland\r\neBadenWuerttemberg = 1\r\neBayern = 2\r\neBerlin = 4\r\neBrandenburg = 8\r\neBremen = 16\r\neHamburg = 32\r\neHessen = 64\r\neMecklenburgVorpommern = 128\r\neNiedersachsen = 256\r\neNordrheinWestfalen = 512\r\neRheinlandPfalz = 1024\r\neSaarland = 2048\r\neSachsen = 4096\r\neSachsenAnhalt = 8192\r\neSchleswigHolstein = 16384\r\neThueringen = 32768\r\nEnd Enum<\/pre>\n<p>Warum nun erhalten die Konstanten f&uuml;r die Bundesl&auml;nder ausschlie&szlig;lich Zweierpotenzen als Zahlenwerte Nun: So k&ouml;nnen wir einfach festlegen und ermitteln, welcher Feiertag in welchem Bundesland gefeiert wird.<\/p>\n<p>Dazu nutzen wir eine zweite Enumeration, welche die Feiertage auflistet und deren Zahlenwert Informationen dar&uuml;ber liefert, welche Bundesl&auml;nder den jeweiligen Feiertag begehen. Diese Enumeration k&ouml;nnen Sie in Kurz- oder Langform verwenden. Hier ist eine abgek&uuml;rzte Version der Langform:<\/p>\n<pre>Public Enum eFeiertageBundeslaender\r\neNeujahr = eBadenWuerttemberg + eBayern +\r\neBerlin + eBrandenburg + eBremen +\r\neHamburg + eHessen +\r\neMecklenburgVorpommern + eNiedersachsen +\r\neNordrheinWestfalen + eRheinlandPfalz +\r\neSaarland + eSachsen + eSachsenAnhalt +\r\neSchleswigHolstein + eThueringen\r\neHeiligeDreiKoenige = eBadenWuerttemberg +\r\neBayern + eSachsenAnhalt\r\n...\r\neFronleichnam = eBadenWuerttemberg +\r\neBayern + eHessen + eNordrheinWestfalen +\r\neRheinlandPfalz + eSaarland +\r\neSachsen + eThueringen\r\neMariaHimmelfahrt = eBayern + eSaarland\r\n...\r\nEnd Enum<\/pre>\n<p>Wie gut zu erkennen ist, werden zu jedem Feiertag die Konstanten aller Bundesl&auml;nder summiert, in denen der jeweilige Feiertag stattfindet. Da wir den Konstanten der Bundesl&auml;nder Zweierpotenzen zugewiesen haben, k&ouml;nnen wir theoretisch statt der etwas l&auml;ngeren Ausdr&uuml;cke auch einen Zahlenwert angeben. F&uuml;r Feiertage, die in allen Bundesl&auml;ndern stattfinden, w&auml;re dies etwa 32.768 + 16.384 + 8.192 + 4.096 + 2.048 + 1.024 + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1, also 65.535. Allerdings lassen sich die Informationen doch besser pr&uuml;fen, wenn sie mit den Konstanten angegeben werden.<\/p>\n<p><b>Ermittlung des Datums des vierten Advents<\/b><\/p>\n<p>Der vierte Advent ist der letzte Sonntag vor dem ersten Weihnachtstag und kann somit auch auf Heiligabend fallen. Der erste bis vierte Advent sind in allen Bundesl&auml;ndern Feiertage. Der erste, zweite und dritte Advent wird jeweils an den Sonntagen vor dem vierten Advent gefeiert, somit sind diese Feiertage vom Datum des vierten Advents abh&auml;ngig. Auch der Bu&szlig;- und Bettag, der allerdings nur in Sachsen Feiertag ist, h&auml;ngt vom Datum des vierten Advents ab. Das Datum des vierten Advents wird mit der folgenden Funktion ermittelt:<\/p>\n<pre>Function VierterAdvent(intJahr As Integer)\r\n As Date\r\n    Dim dat As Date\r\n    dat = CDate(&quot;24.12.&quot; &amp; intJahr)\r\n    Do While Not Weekday(dat, vbMonday) =\r\n        vbSunday\r\n        dat = dat - 1\r\n    Loop\r\n    VierterAdvent = dat\r\nEnd Function<\/pre>\n<p>Diese Funktion stellt den Wert der Variablen <b>dat <\/b>einfach auf den 24. Dezember des Jahres ein, f&uuml;r welches das Datum des vierten Advents ermittelt werden soll, und wird in einer <b>Do While<\/b>-Schleife so lange um jeweils einen Tag in Richtung Jahresbeginn verschoben, bis es auf einen Sonntag f&auml;llt. Dies kann auch gleich beim ersten Durchlauf der Fall sein &#8211; dann f&auml;llt Heiligabend genau auf den vierten Advent. Die vom vierten Advent abh&auml;ngigen Feiertage werden dann durch Subtraktion der entsprechenden Anzahl Tage ermittelt.<\/p>\n<p><b>Ermittlung des Datums des Ostersonntags<\/b><\/p>\n<p>Die Ermittlung des Ostersonntags erfolgt durch eine recht komplizierte Berechnung, die durch die folgende Funktion abgebildet wird:<\/p>\n<pre>Function Ostersonntag(intJahr As Integer) As Date\r\n    Dim a As Integer\r\n    Dim b As Integer\r\n    Dim c As Integer\r\n    Dim d As Integer\r\n    Dim e As Integer\r\n    Dim intTag As Integer\r\n    Dim intMonat As Integer\r\n    a = intJahr Mod 19\r\n    b = intJahr Mod 4\r\n    c = intJahr Mod 7\r\n    d = (19 * a + 24) Mod 30\r\n    e = (2 * b + 4 * c + 6 * d + 5) Mod 7\r\n    intTag = 22 + d + e\r\n    intMonat = 3\r\n    If intTag &gt; 31 Then\r\n        intTag = d + e - 9\r\n        intMonat = 4\r\n    End If\r\n    Ostersonntag = CDate(intTag &amp; &quot;.&quot;\r\n    &amp; intMonat &amp; &quot;.&quot; &amp; intJahr)\r\nEnd Function<\/pre>\n<p><!--30percent--><\/p>\n<p>Diese Funktion sorgt daf&uuml;r, dass der Ostersonntag in Abh&auml;ngigkeit von der Jahreszahl an einem Tag zwischen dem 23. M&auml;rz und dem 26. April liegt. Wenn man sich &uuml;berlegt, dass Ostern (und die davon abh&auml;ngigen Tage) genau wie Weihnachten Jahrestage bestimmter Ereignisse sind, fragt man sich schon, warum hier keine einfachere Regelung gefunden wurde &#8230;<\/p>\n<p><b>Array der Feiertage zusammenstellen<\/b><\/p>\n<p>Die grundlegenden Funktionen und Enumerationen haben wir nun zusammengestellt. Es fehlt noch eine Funktion, die alle Informationen zusammenf&uuml;hrt und ein Array zur&uuml;ckliefert, das alle Feiertagsdaten f&uuml;r ein per Parameter angegebenes Jahr enth&auml;lt. Ein zweiter Parameter gibt an, f&uuml;r welches Bundesland die Feiertage zusammengestellt werden sollen. Dies alles erledigt die Funktion <b>Feiertage<\/b> aus <span class=\"verweis-ohneumbruch\"><a href=\"#anker-anchor\">Listing 1<\/a><\/span>. Der erste Parameter erwartet die Angabe einer Jahreszahl, also beispielsweise <b>2011<\/b>, der zweite eine der Konstanten der Enumeration der Bundesl&auml;nder, also etwa <b>eNordrheinWestfalen<\/b>. Die Funktion soll ein Array mit den Feiertagen zur&uuml;ckliefern, wobei der erste Wert den Namen des Feiertags enth&auml;lt und der zweite das Datum des Feiertags. Die Daten der beiden Stichtage (Ostersonntag und der vierte Advent) werden in den Variablen <b>datOstersonntag <\/b>und <b>datVierterAdvent <\/b>gespeichert und sp&auml;ter zur Berechnung der davon abh&auml;ngigen Feiertage herangezogen. Die weiter oben vorgestellten Funktionen <b>Ostersonntag <\/b>und <b>VierterAdvent <\/b>f&uuml;llen die beiden Datumsvariablen <b>datOstersonntag <\/b>und <b>datVierterAdvent <\/b>gleich zu Beginn der Funktion.<\/p>\n<p class=\"listingueberschrift\">Listing 1: Ermitteln aller Feiertage eines Jahres f&uuml;r ein Bundesland<\/p>\n<pre>Public Function Feiertage(intJahr As Integer, lngBundesland As eBundesland) As Variant\r\n    Dim arr() As String\r\n    Dim i As Integer\r\n    Dim datOstersonntag As Date\r\n    Dim datVierterAdvent As Date\r\n    datOstersonntag = Ostersonntag(intJahr)\r\n    datVierterAdvent = VierterAdvent(intJahr)\r\n    If (eNeujahr And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Neujahr&quot;, &quot;1.1.&quot; &amp; intJahr\r\n    If (eHeiligeDreiKoenige And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Heilige drei K&ouml;nige&quot;, &quot;6.1.&quot; &amp; intJahr\r\n    If (eKarfreitag And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Karfreitag&quot;, CStr(datOstersonntag - 2)\r\n    If (eOstersonntag And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Ostersonntag&quot;, CStr(datOstersonntag)\r\n    If (eOstermontag And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Ostermontag&quot;, CStr(datOstersonntag + 1)\r\n    If (eErsterMai And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;1. Mai&quot;, &quot;1.5.&quot; &amp; intJahr\r\n    If (eChristiHimmelfahrt And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Christi Himmelfahrt&quot;, CStr(datOstersonntag + 39)\r\n    If (ePfingstmontag And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Pfingstmontag&quot;, CStr(datOstersonntag + 50)\r\n    If (eFronleichnam And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Fronleichnam&quot;, CStr(datOstersonntag + 60)\r\n    If (eMariaHimmelfahrt And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Maria Himmelfahrt&quot;, &quot;15.8.&quot; &amp; intJahr\r\n    If (eTagDerDeutschenEinheit And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Tag der deutschen Einheit&quot;, &quot;3.10.&quot; &amp; intJahr\r\n    If (eReformationstag And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Reformationstag&quot;, &quot;31.10.&quot; &amp; intJahr\r\n    If (eAllerheiligen And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Allerheiligen&quot;, &quot;1.11.&quot; &amp; intJahr\r\n    If (eBussUndBettag And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Bu&szlig;- und Bettag&quot;, CStr(datVierterAdvent - 32)\r\n    If (eErsterAdvent And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Erster Advent&quot;, CStr(datVierterAdvent - 21)\r\n    If (eZweiterAdvent And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Zweiter Advent&quot;, CStr(datVierterAdvent - 14)\r\n    If (eDritterAdvent And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Dritter Advent&quot;, CStr(datVierterAdvent - 7)\r\n    If (eVierterAdvent And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Vierter Advent&quot;, CStr(datVierterAdvent)\r\n    If (eErsterWeihnachtstag And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Erster Weihnachtstag&quot;, &quot;25.12.&quot; &amp; intJahr\r\n    If (eZweiterWeihnachtstag And lngBundesland) = lngBundesland Then _\r\n    FeiertagHinzufuegen i, arr, &quot;Zweiter Weihnachtstag&quot;, &quot;26.12.&quot; &amp; intJahr\r\n    Feiertage = arr\r\nEnd Function<\/pre>\n<p>Dann pr&uuml;ft die Prozedur f&uuml;r jeden Feiertag, ob dieser in dem mit dem Parameter <b>lngBundesland <\/b>&uuml;bergebenen Bundesland begangen wird. Dabei macht sich die Funktion die Enumerationen zunutze: Ein Ausdruck wie <b>(eNeujahr And lngBundesland) = lngBundesland <\/b>liefert so etwa den Wert <b>True <\/b>zur&uuml;ck, wenn der Feiertag im angegebenen Bundesland gefeiert wird. Wie funktioniert das <b>eNeujahr <\/b>entspricht genau wie <b>lngBundesland <\/b>einem Zahlenwert. <b>eNeuJahr<\/b> hat den Zahlenwert <b>65.535<\/b>, das Bundesland <b>eNordrheinWestfalen <\/b>entspricht beispielsweise dem Wert <b>1<\/b>. Dadurch, dass wir den Bundesl&auml;ndern Zweierpotenzen als Wert zugewiesen haben, k&ouml;nnen wir durch einen Ausdruck wie <b>eNeujahr And lngBundesland <\/b>ermitteln, ob <b>eNordrheinWestfalen <\/b>in <b>eNeuJahr <\/b>enthalten ist. Diese arithmetische beziehungsweise bin&auml;re <b>Und<\/b>-Verkn&uuml;pfung liefert genau den Wert der gemeinsamen Zweierpotenz, in diesem Fall <b>1<\/b> &#8211; dieses Bundesland begeht also diesen Feiertag. Wenn dies der Fall ist, ruft die Funktion eine weitere Funktion namens <b>FeiertagHinzufuegen <\/b>mit einigen Parametern auf:<\/p>\n<pre>FeiertagHinzufuegen i, arr, &quot;Neujahr&quot;,\r\n&quot;1.1.&quot; &amp; intJahr<\/pre>\n<p>Der Parameter <b>i <\/b>enth&auml;lt die laufende Nummer des aktuell abgearbeiteten Feiertags, <b>arr <\/b>ist das Array mit der zu f&uuml;llenden Liste der Feiertage, der dritte Parameter enth&auml;lt die Bezeichnung des Feiertags und der vierte das Datum. Die Funktion <b>FeiertagHinzufuegen <\/b>sieht so aus:<\/p>\n<pre>Public Function FeiertagHinzufuegen(i,\r\n arr() As String, strFeiertag As String, \r\n    strDatum As String)\r\n    ReDim Preserve arr(2, i)\r\n    arr(0, i) = strFeiertag\r\n    arr(1, i) = strDatum\r\n    i = i + 1\r\nEnd Function<\/pre>\n<p>Die Funktion f&uuml;gt lediglich den Namen des Feiertags und das Datum zum Array hinzu und erh&ouml;ht den Z&auml;hler <b>i <\/b>um <b>1<\/b>. Dadurch, dass alle Parameter standardm&auml;&szlig;ig mit <b>ByRef<\/b> &uuml;bergeben werden, spiegeln sich die &auml;nderungen direkt in den Variablen der aufrufenden Funktion wider.<\/p>\n<p><b>Verwenden des Arrays<\/b><\/p>\n<p>Das resultierende Array k&ouml;nnen Sie auf verschiedene Arten weiternutzen. Wenn Sie beispielsweise alle Feiertage einfach im Direktfenster ausgeben m&ouml;chten, verwenden Sie die folgende Prozedur:<\/p>\n<pre>Public Function FeiertageAusgeben()\r\n    Dim arr As Variant\r\n    Dim i As Integer\r\n    arr = Feiertage(2011, eNordrheinWestfalen)\r\n    For i = LBound(arr, 2) To UBound(arr, 2)\r\n        Debug.Print arr(0, i), arr(1, i)\r\n    Next i\r\nEnd Function<\/pre>\n<p>Beachten Sie, dass Sie der <b>LBound<\/b>&#8211; und der <b>UBound<\/b>-Funktion zum Ermitteln der unteren und oberen Grenze des Arrays einen zweiten Parameter mitgeben m&uuml;ssen. Dieser gibt an, dass die Gr&ouml;&szlig;e der zweiten Dimension ausgelesen werden soll. Der Grund daf&uuml;r, dass wir die Z&auml;hlervariable in die zweite Dimension geschrieben haben, ist der, dass die <b>Redim<\/b>-Anweisung ausschlie&szlig;lich die Gr&ouml;&szlig;e der letzten Dimension anpassen kann. Der Inhalt des von <b>Feiertage <\/b>zur&uuml;ckgegebenen Arrays sieht im Direktfenster wie in Bild 1 aus.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_04\/Feiertage-web-images\/pic001.png\" alt=\"pic001.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Ausgabe der Feiertage eines Bundeslandes im Direktfenster<\/span><\/b><\/p>\n<p>Wenn Sie hingegen pr&uuml;fen m&ouml;chten, ob ein bestimmtes Datum ein Feiertag ist, verwenden Sie besser eine <b>Collection<\/b>. Die <b>Collection <\/b>hat den Vorteil, dass Sie beim Anlegen eines Elements mit dem <b>Key<\/b>-Parameter einen Schl&uuml;ssel angeben k&ouml;nnen. Der <b>Value<\/b>-Parameter hingegen nimmt den eigentlichen Wert auf. Wenn Sie den Feiertag-Status f&uuml;r ein beliebiges Datum ermitteln m&ouml;chten, brauchen Sie dieses nur statt des Indexes der <b>Items<\/b>-Auflistung anzugeben. Die folgende Prozedur schreibt die Feiertage aus dem Array in eine Collection:<\/p>\n<pre>Public Function FeiertageCollection(intJahr\r\n As Integer, lngBundesland As \r\n    eBundesland) As Collection\r\n    Dim col As Collection\r\n    Dim arr As Variant\r\n    Dim i As Integer\r\n    Set col = New Collection\r\n    arr = Feiertage(intJahr, lngBundesland)\r\n    For i = 0 To UBound(arr, 2) - LBound(arr, 2)\r\n        If Len(arr(0, i)) &gt; 0 Then\r\n            col.Add arr(0, i), arr(1, i)\r\n        End If\r\n    Next i\r\n    Set FeiertageCollection = col\r\nEnd Function<\/pre>\n<p>Die Funktion <b>IstFeiertag <\/b>pr&uuml;ft, ob das angegebene Datum ein Feiertag ist. Falls nicht, erzeugt der Zugriff auf den entsprechenden Key der Collection einen Fehler, der wie folgt abgefangen wird:<\/p>\n<pre>Public Function IstFeiertag(dat As Date,\r\n lngBundesland As eBundesland) As Boolean\r\n    Dim col As Collection\r\n    Dim bol As Boolean\r\n    Set col = FeiertageCollection(Year(dat),\r\n    lngBundesland)\r\n    On Error Resume Next\r\n    bol =\r\n    Len(col.Item(Format(dat, &quot;d.m.yyyy&quot;))) &gt; 0\r\n    If Err.Number = 0 Then\r\n        If bol Then\r\n            IstFeiertag = True\r\n        End If\r\n    End If\r\nEnd Function<\/pre>\n<p>Der Aufruf erfolgt beispielsweise im Direktfenster wie folgt:<\/p>\n<pre>Debug.Print IstFeiertag(&quot;25.12.2011&quot;, eBadenWuerttemberg)<\/pre>\n<p>Nat&uuml;rlich k&ouml;nnen Sie die Feiertagsdaten auch in einer Tabelle der Zielanwendung speichern und die Daten daraus beziehen.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Feiertage.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{557F968D-78D0-426F-B422-D123B9C7CD45}\/aiu_787.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn Sie mit Access Termine verwalten, werden Sie auch Feiertage ber&uuml;cksichtigen wollen. Die entsprechenden Datumsangaben liefert Access leider nicht frei Haus &#8211; Sie m&uuml;ssen selbst eine entsprechende Funktion bereitstellen. Der vorliegende Beitrag zeigt, wie Sie die Feiertage ermitteln und wie Sie schnell pr&uuml;fen, ob ein Feiertag auf ein bestimmtes Datum f&auml;llt.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662011,66042011,44000027],"tags":[],"class_list":["post-55000787","post","type-post","status-publish","format-standard","hentry","category-662011","category-66042011","category-Loesungen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Feiertage dynamisch ermitteln - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Feiertage dynamisch ermitteln\" \/>\n<meta property=\"og:description\" content=\"Wenn Sie mit Access Termine verwalten, werden Sie auch Feiertage ber&uuml;cksichtigen wollen. Die entsprechenden Datumsangaben liefert Access leider nicht frei Haus - Sie m&uuml;ssen selbst eine entsprechende Funktion bereitstellen. Der vorliegende Beitrag zeigt, wie Sie die Feiertage ermitteln und wie Sie schnell pr&uuml;fen, ob ein Feiertag auf ein bestimmtes Datum f&auml;llt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T21:57:01+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg04.met.vgwort.de\/na\/b0ad628935be46c9a10396f8ff3215b0\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Feiertage dynamisch ermitteln\",\"datePublished\":\"2020-05-22T21:57:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/\"},\"wordCount\":1450,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/b0ad628935be46c9a10396f8ff3215b0\",\"articleSection\":[\"2011\",\"4\\\/2011\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/\",\"name\":\"Feiertage dynamisch ermitteln - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/b0ad628935be46c9a10396f8ff3215b0\",\"datePublished\":\"2020-05-22T21:57:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/b0ad628935be46c9a10396f8ff3215b0\",\"contentUrl\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/b0ad628935be46c9a10396f8ff3215b0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Feiertage_dynamisch_ermitteln\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Feiertage dynamisch ermitteln\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Feiertage dynamisch ermitteln - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/","og_locale":"de_DE","og_type":"article","og_title":"Feiertage dynamisch ermitteln","og_description":"Wenn Sie mit Access Termine verwalten, werden Sie auch Feiertage ber&uuml;cksichtigen wollen. Die entsprechenden Datumsangaben liefert Access leider nicht frei Haus - Sie m&uuml;ssen selbst eine entsprechende Funktion bereitstellen. Der vorliegende Beitrag zeigt, wie Sie die Feiertage ermitteln und wie Sie schnell pr&uuml;fen, ob ein Feiertag auf ein bestimmtes Datum f&auml;llt.","og_url":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T21:57:01+00:00","og_image":[{"url":"http:\/\/vg04.met.vgwort.de\/na\/b0ad628935be46c9a10396f8ff3215b0","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Feiertage dynamisch ermitteln","datePublished":"2020-05-22T21:57:01+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/"},"wordCount":1450,"commentCount":2,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/#primaryimage"},"thumbnailUrl":"http:\/\/vg04.met.vgwort.de\/na\/b0ad628935be46c9a10396f8ff3215b0","articleSection":["2011","4\/2011","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/","url":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/","name":"Feiertage dynamisch ermitteln - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/#primaryimage"},"thumbnailUrl":"http:\/\/vg04.met.vgwort.de\/na\/b0ad628935be46c9a10396f8ff3215b0","datePublished":"2020-05-22T21:57:01+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/#primaryimage","url":"http:\/\/vg04.met.vgwort.de\/na\/b0ad628935be46c9a10396f8ff3215b0","contentUrl":"http:\/\/vg04.met.vgwort.de\/na\/b0ad628935be46c9a10396f8ff3215b0"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Feiertage_dynamisch_ermitteln\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Feiertage dynamisch ermitteln"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000787"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000787\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}