{"id":55000090,"date":"2002-12-01T00:00:00","date_gmt":"2021-03-22T16:16:21","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=90"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Urlaubsverwaltung_mit_Access","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/","title":{"rendered":"Urlaubsverwaltung mit Access"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/f8b01c87878d46f994745942297aa073\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>von Klaus Giesen, Wuppertal<\/b><\/p>\n<p><b>Urlaub, Krankheit oder sonstige Abwesenheit von Mitarbeitern sind in jedem Betrieb an der Tagesordnung. Das mag in manchen F&auml;llen unangenehm sein, ist aber in der Regel nicht zu &auml;ndern. Der vorliegende Beitrag zeigt Ihnen, wie Sie die Fehlzeiten der Mitarbeiter Ihrer Firma mit einer Access-Datenbank verwalten und kontrollieren k&ouml;nnen. Ein wichtiger Gesichtspunkt bei der Konzeption einer solchen L&ouml;sung ist es, den zur Verwaltung der Fehlzeiten notwendigen Zeitaufwand &#8211; das hei&szlig;t gleichzeitig auch die Kosten daf&uuml;r &#8211; zu minimieren. Der folgende Beitrag soll dazu einen Ansatzpunkt bieten.<\/b><\/p>\n<p>Die Aufgaben einer Urlaubsverwaltung mit Access lassen sich unter den Stichw&ouml;rtern Erfassung, &uuml;bersicht und Auswertung zusammenfassen.<\/p>\n<p><b>Erfassung<\/b><\/p>\n<p>Bei der Erfassung der entsprechenden Datumswerte in Tabellen ist die Tatsache zu ber&uuml;cksichtigen, dass Kalendertage nicht nur Arbeitstage sind. Hinzu kommen noch die verschiedenen beweglichen und unbeweglichen Feiertage, die auch noch in den einzelnen Bundesl&auml;ndern unterschiedlich sein k&ouml;nnen.<\/p>\n<p>Es geht bei dieser Datenbankl&ouml;sung also zun&auml;chst darum, aus zwei Datumsangaben die reinen Werk- oder Arbeitstage zu berechnen.<\/p>\n<p>Im Erg&auml;nzungsheft 6\/2001 von Access im Unternehmen finden Sie den Beitrag Feiertage berechnen mit Access, in dem eine programmgesteuerte Feiertagsberechnung vorgestellt wird. Diese L&ouml;sung k&ouml;nnen Sie ohne weiteres in die bestehende Anwendung &uuml;bernehmen. Die Vorgehensweise wird daher hier nicht erneut behandelt. <\/p>\n<p>In der vorliegenden Musterl&ouml;sung finden Sie ein einfaches Endlosformular zur Erfassung von Feiertagen (siehe Bild 1).<\/p>\n<p><IMG height=\"343\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic001.png\" width=\"337\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Eingabeformular zur Erfassung von Feiertagen<\/span><\/b><\/p>\n<p>Die Datenherkunft des Formulars ist die Abfrage qryfrmFeiertage. Sie sortiert den Inhalt der Tabelle tblFeiertage aufsteigend nach dem Datum.<\/p>\n<p><IMG height=\"400\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Die Tabelle tblPersonal in der Entwurfsansicht <\/span><\/b><\/p>\n<p>Diese Erfassungsmethode erlaubt Ihnen unter anderem die Ber&uuml;cksichtigung der unterschiedlichen Feiertagregelungen in den einzelnen Bundesl&auml;ndern.<\/p>\n<p><b>&uuml;bersicht<\/b><\/p>\n<p>Zu einer &uuml;bersicht &uuml;ber die Fehlzeiten eines Mitarbeiters geh&ouml;rt die automatische Auswertung und Pr&auml;sentation von Informationen wie z. B.<\/p>\n<li>Urlaubsanspruch<\/li>\n<li>eventueller Resturlaub und<\/li>\n<li>bereits genommener Urlaub.<\/li>\n<p>Dazu bieten sich bei dieser Access-Datenbank entsprechend gestaltete &uuml;bersichtsformulare an, die die notwendigen Informationen auf einen Blick liefern.<\/p>\n<p><b>Auswertung<\/b><\/p>\n<p>Die Auswertung einer Fehlzeiten&uuml;bersicht erfolgt in der Regel auf Papier. Bei dieser Access-L&ouml;sung geht es also in erster Linie um die Erstellung entsprechender Berichte, die der Anwender anschlie&szlig;end ausdrucken und weiter verwenden kann.<\/p>\n<p><b>Vor&uuml;berlegungen zur Musterl&ouml;sung<\/b><\/p>\n<p>Ein wesentlicher Aspekt der Betriebsorganisation ist die stringente Verwaltung der Fehlzeiten von Mitarbeitern. Die vorliegende Musterl&ouml;sung geht von einem stark vereinfachten Modell aus:<\/p>\n<li>F&uuml;r die Arbeitstage sind drei Abwesenheitsgr&uuml;nde denkbar: Krankheit, Urlaub und sonstige Gr&uuml;nde.<\/li>\n<li>Bei jeder der verschiedenen Abwesenheitsarten, die sich &uuml;ber einen oder mehrere Tage erstreckt, kann genau ein Vertreter f&uuml;r die Abwesenheit des betreffenden Mitarbeiters angegeben werden.<\/li>\n<li>Bei der Auswahl eines Vertreters erfolgt eine erste einfache Plausibilit&auml;tskontrolle: Es wird gepr&uuml;ft, ob der zu vertretende Mitarbeiter und sein Vertreter nicht identisch sind.<\/li>\n<p>Es lassen sich nat&uuml;rlich weitere, an spezielle  Betriebsabl&auml;ufe angepasste Plausibilit&auml;ts&uuml;berpr&uuml;fungen, implementieren.<\/p>\n<p>Im folgenden Abschnitt lernen Sie das Datenmodell mit den wichtigsten Tabellen der Beispieldatenbank kennen.<\/p>\n<h3>Hinweis<\/h3>\n<p>Die Beispieldatenbanken Urlaub97.mdb und Urlaub2000.mdb finden Sie auf der beiliegenden Heft-CD. <\/p>\n<p><b>Die Tabelle tblPersonal<\/b><\/p>\n<p>Die Tabelle tblPersonal dient der Erfassung der Stammdaten der Mitarbeiter. Die Auswahl der Felder ist beispielhaft und kann leicht an Ihre individuellen Bed&uuml;rfnisse angepasst werden (siehe Bild 2).<\/p>\n<p>F&uuml;r das Feld Urlaubsanspruch ist ein Standardwert festgelegt, der bei der Erstellung eines neuen Datensatzes automatisch &uuml;bernommen wird (siehe Bild 2).<\/p>\n<p><IMG height=\"221\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic003.png\" width=\"249\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Feldeigenschaften<\/span><\/b><\/p>\n<p>Dieses Feld hat ebenso wie das Feld RestUrlaubVorjahr den Felddatentyp Zahl.<\/p>\n<p>F&uuml;r die Feldgr&ouml;&szlig;e reicht die Einstellung Byte mit ihrem Wertebereich f&uuml;r Ganzzahlen bis 255 vollkommen aus. Die Verwendung der Feldgr&ouml;&szlig;e Long Integer w&auml;re f&uuml;r diesen Zweck ist nicht nur in Bezug auf den Wertebereich &uuml;berfl&uuml;ssig, sondern verschwendet auch unn&ouml;tig Speicherplatz und Ressourcen (siehe Bild 3).<\/p>\n<p><b>Die Tabelle tblAbwesenheit<\/b><\/p>\n<p>Die Tabelle tblAbwesenheit speichert die Datumswerte und den Grund der Fehlzeiten (siehe Bild 4).<\/p>\n<p><IMG height=\"305\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic004.png\" width=\"453\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Die Tabelle tblAbwesenheit in der Entwurfsansicht <\/span><\/b><\/p>\n<p>Au&szlig;erdem ist in dieser Tabelle noch das Sekund&auml;rschl&uuml;sselfeld zur Tabelle tblPersonal vorhanden.<\/p>\n<p><b>Beziehungen<\/b><\/p>\n<p>Interessant ist in diesem Zusammenhang lediglich die Beziehung zwischen den Tabellen tblPersonal und tblAbwesenheit. Die Tabellenbeziehungen werden im Dialogfenster Beziehungen angezeigt (siehe Bild 5).<\/p>\n<p><IMG height=\"350\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic005.png\" width=\"434\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Das Dialogfenster Beziehungen<\/span><\/b><\/p>\n<li>Klicken Sie im Dialogfenster Beziehungen doppelt auf die Verbindungslinie zwischen den beiden Tabellen (siehe Bild 5). Daraufhin &ouml;ffnet sich das Dialogfenster Beziehungen bearbeiten (siehe Bild 6).<\/li>\n<li>Klicken Sie dort auf die Schaltfl&auml;che Verkn&uuml;pfungstyp (siehe Bild 6). Das Dialogfenster Verkn&uuml;pfungseigenschaften wird angezeigt (siehe Bild 7). (<\/li>\n<p>Die zweite Option legt eine Links-Inklusionsverkn&uuml;pfung oder LEFT JOIN fest. Dabei werden alle Datens&auml;tze aus der Tabelle auf der linken Seite der Verkn&uuml;pfung angezeigt, auch wenn sie keine entsprechenden Werte im verkn&uuml;pften Feld der Tabelle auf der rechten Seite besitzen.<\/p>\n<li>Schlie&szlig;en Sie die beiden Dialoge.<\/li>\n<p><IMG height=\"249\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic006.png\" width=\"425\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Das Dialogfenster Beziehungen bearbeiten<\/span><\/b><\/p>\n<p><IMG height=\"175\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic007.png\" width=\"350\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Das Dialogfenster Verkn&uuml;pfungseigenschaften<\/span><\/b><\/p>\n<p>Die Beispieldatenbank besteht aus dem Hauptformular frmPersonal und dem Formular zur Eingabe der Feiertage, frmFeiertage. Vier der f&uuml;nf weiteren Formulare sind Unterformulare von frmPersonal und daher nicht von nebens&auml;chlicher Bedeutung. <\/p>\n<p>Anders verh&auml;lt es sich jedoch mit verschiedenen Unterformularen dieser Musterl&ouml;sung, die f&uuml;r deren Funktionalit&auml;t von entscheidender Bedeutung sind.<\/p>\n<p>Diese Unterformulare werden im weiteren Verlauf dieses Beitrags im Zusammenhang vorgestellt und beschrieben.<\/p>\n<p><b>Das Formular frmPersonal<\/b><\/p>\n<p>Das Formular frmPersonal besteht im Wesentlichen aus einem Registersteuerelement und zwei Schaltfl&auml;chen. Die vier Seiten des Registersteuerelements enthalten die erw&auml;hnten Unterformulare.<\/p>\n<p><!--30percent--><\/p>\n<p><IMG height=\"325\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic008.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Das Formular frmPersonal mit dem Registersteuerelement<\/span><\/b><\/p>\n<p><b>Formular mit Registersteuerelement erstellen<\/b><\/p>\n<li>Legen Sie ein neues Formular mit dem Namen frmPersonal an. Die Datenherkunft ist die Abfrage qryfrmPersonal.<\/li>\n<li>F&uuml;gen Sie in der Entwurfsansicht des Formulars frmPersonal aus der Toolbox ein Registersteuerelement mit vier Registerkarten oder -seiten ein.<\/li>\n<li>Beschriften Sie die einzelnen Registerseiten wie in Bild 8. (<\/li>\n<h3>Hinweis<\/h3>\n<p>Weitere Einzelheiten zu Registersteuerelementen finden Sie im Beitrag Das Register-Steuerelement, der im Heft 3\/2001 von Access im Unternehmen erschienen ist. <\/p>\n<p>Zentrales Element zur Erfassung der Fehlzeiten ist das Unterformular SubfrmAbwesenheit, das sich auf der Registerseite Abwesenheiten im Formular frmPersonal befindet (siehe Bild 10).<\/p>\n<p><IMG height=\"325\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic009.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9:  Das Unterformular auf der Registerseite Abwesenheiten<\/span><\/b><\/p>\n<p><b>Das Unterformular SubfrmAbwesenheit<\/b><\/p>\n<p>Dieses Unterformular, das auf der Abfrage qrySubfrmAbwesenheit beruht, ist mit folgenden Funktionen ausgestattet:<\/p>\n<li>Auswahl einer Abwesenheitsart<\/li>\n<li>Eingabe von Anfangs- und Enddatum der Fehlzeit<\/li>\n<li>Anzeige der Fehltage<\/li>\n<li>Auswahl eines Vertreters<\/li>\n<li>L&ouml;schen einer Fehlzeit<\/li>\n<p>Die Punkte Berechnung der Fehltage und Auswahl einer Vertretung werden in separaten Abschnitten behandelt.<\/p>\n<h3>Auswahl einer Abwesenheitsart<\/h3>\n<p>Die Auswahl einer Abwesenheitsart erfolgt &uuml;ber das Kombinationsfeld CboAbwesenheitart, das mittels einer Werteliste gef&uuml;llt wird (siehe Bild 11).<\/p>\n<p><IMG height=\"272\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic010.png\" width=\"333\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 10:  Das Eigenschaftsfenster des Kombinationsfelds CboAbwesenheitart<\/span><\/b><\/p>\n<h3>L&ouml;schen einer Fehlzeit<\/h3>\n<p>Beim Klick auf die Schaltfl&auml;che btnDel wird eine Ereignisprozedur aufgerufen, die den betreffenden Datensatz nach einer Sicherheitsabfrage l&ouml;scht. Verantwortlich daf&uuml;r ist die folgende VBA-Codezeile:<\/p>\n<p>DoCmd.RunCommand acCmdDeleteRecord<\/p>\n<p><b>Berechnung der Fehltage<\/b><\/p>\n<p>Die Berechnung der Fehltage erfolgt in der Abfrage qrySubfrmAbwesenheit. Die Abfrage enth&auml;lt alle Felder der Tabelle TblAbwesenheit sowie ein weiteres Feld namens TageAbwesend mit folgendem Ausdruck:<\/p>\n<pre>WerktageZwischen(Nz([StartDatum]);Nz([EndDatum]))<\/pre>\n<p>Dieser Ausdruck berechnet mit Hilfe der Funktion WerktageZwischen aus den beiden im Formular eingegebenen Datumswerten (Anfangs- und Enddatum der Abwesenheit), die als Parameter &uuml;bergeben werden, die Anzahl der Werktage.<\/p>\n<h3>Praxis-Tipp<\/h3>\n<p>Falls der Wert eines der beiden Steuerelemente gleich Null ist, wandelt die Funktion Nz() diesen Nullwert in eine leere Zeichenfolge um. <\/p>\n<h3>Die Funktion WerktageZwischen()<\/h3>\n<p>Sie finden die Funktion WerktageZwischen() im Modul basFristen der Beispieldatenbank unter Quellcode 1 abgedruckt.<\/p>\n<pre>Function WerktageZwischen(ErstesDatum As Variant, ZweitesDatum As Variant) As Long\r\n    Dim AktuellerTag As Date\r\n      If Not (IsEmpty(ErstesDatum) Or IsEmpty(ZweitesDatum)) Then\r\n        WerktageZwischen = ZweitesDatum - ErstesDatum + 1\r\n           For AktuellerTag = ErstesDatum To ZweitesDatum\r\n            If IstFeiertag(AktuellerTag) Or Weekday(AktuellerTag) = 1 Or Weekday(AktuellerTag) = 7 Then\r\n                WerktageZwischen = WerktageZwischen - 1\r\n            End If\r\n        Next\r\n    Else\r\n        WerktageZwischen = Empty\r\n    End If\r\nEnd Function<\/pre>\n<p>Diese Funktion stammt in abgewandelter Form aus dem Beitrag Fristen berechnen aus dem Heft 6\/2001 der Reihe Access im Unternehmen.<\/p>\n<p>Die Ver&auml;nderung besteht darin, mit Hilfe der Funktion IsEmpty() sicherzustellen, dass die Berechnung der Werktage erst dann ausgef&uuml;hrt wird, nachdem Datumswerte in beide Eingabefelder eingegeben wurden. Anderenfalls tritt der Effekt auf, der in Bild 13 zu sehen ist:<\/p>\n<p><IMG height=\"152\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic011.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 11:  Das Unterformular SubFrmAbwesenheit<\/span><\/b><\/p>\n<p>Nach der Eingabe des Anfangsdatums wird als Ergebnis so lange eine negative f&uuml;nfstellige Zahl angezeigt, bis auch das Enddatum eingegeben wurde.<\/p>\n<p><b>Vertreter ausw&auml;hlen<\/b><\/p>\n<p>Die Auswahl einer Urlaubs- oder Abwesenheitsvertretung erfolgt im Kombinationsfeld CboVertretung.<\/p>\n<p>Datensatzherkunft f&uuml;r dieses Kombinationsfeld ist die Abfrage qryMitarbeiter, die eigentlich nur dazu dient, die Felder Nachname und Vorname im Feld Mitarbeiter zusammenzufassen und zu sortieren (siehe Bild 15).<\/p>\n<p><IMG height=\"253\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic012.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 12:  Die Abfrage qryMitarbeiter in der Entwurfsansicht<\/span><\/b><\/p>\n<h3>Plausibilit&auml;tspr&uuml;fung<\/h3>\n<p>Ein abwesender Mitarbeiter kann nur durch andere Mitarbeiter, aber nicht durch sich selbst vertreten werden. Deshalb ist bei der Auswahl einer Vertretung eine Plausibilit&auml;tspr&uuml;fung notwendig.<\/p>\n<p>Diese erfolgt durch eine kleine Ereignisprozedur, die durch das Vor Aktualisierung- oder BeforeUpdate-Ereignis des Kombinationsfelds aufgerufen wird. Der Code ist in Quellcode 2 abgedruckt.<\/p>\n<pre>Private Sub CboVertretung_BeforeUpdate(Cancel As Integer)\r\n  If Me!PersonalID = Me!Vertretung Then\r\n    MsgBox \"Bei Abwesenheit kann man nicht\" & vbCrLf & \"sich selbst vertreten!\"\r\n    Cancel = True\r\n    Me!CboVertretung.Undo\r\n  End If\r\nEnd Sub<\/pre>\n<p>Durch diese Ereignisprozedur wird &uuml;berpr&uuml;ft, ob die Werte der PersonalID von Formular und Kombinationsfeld &uuml;bereinstimmen oder nicht. Falls ja, wird eine entsprechende Meldung angezeig und die Auswahl im Kombinationsfeld r&uuml;ckg&auml;ngig gemacht.<\/p>\n<p><b>Darstellung und Aktualisierung von Urlaubsdaten<\/b><\/p>\n<p>Die Darstellung und Aktualisierung der Urlaubsdaten erfolgt auf der Registerseite Urlaubsdaten im Formular frmPersonal (siehe Bild 17).<\/p>\n<p><IMG height=\"456\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic013.png\" width=\"374\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 13:  Das Register Urlaubsdaten im Formular frmPersonal<\/span><\/b><\/p>\n<p>Die beiden oberen Felder ResturlaubVorjahr und Urlaubsanspruch sind gebundene Textfelder, die drei unteren Felder dagegen berechnete Felder.<\/p>\n<h3>Das Feld Gesamturlaub<\/h3>\n<p>Der Gesamturlaub errechnet sich logischerweise aus dem eventuell vorhandenen Resturlaub aus dem Vorjahr und dem noch vorhandenen Jahresurlaub.<\/p>\n<p>Dies erfolgt in der Beispieldatenbank durch den Ausdruck<\/p>\n<pre>=Nz([ResturlaubVorjahr])+Nz([Urlaubsanspruch])<\/pre>\n<h3>Praxis-Tipp<\/h3>\n<p>Ohne die Verwendung der Nz()-Funktion an dieser Stelle w&uuml;rde bei nicht vorhandenem Resturlaub auch der Wert f&uuml;r den Urlaubsanspruch unterschlagen. Die Berechnung w&auml;re also falsch. <\/p>\n<h3>Das Feld Urlaub genommen<\/h3>\n<p>Der Wert im Feld UrlaubGenommen errechnet sich aus den in Unterformular eingegebenen Urlaubswerten.<\/p>\n<p>F&uuml;r die Ausf&uuml;hrung einer solchen Berechnung gibt es, wie so oft bei Access, mehrere M&ouml;glichkeiten. Diese Musterl&ouml;sung schl&auml;gt folgende vor:<\/p>\n<li>Erstellen Sie als ersten Schritt eine Auswahlabfrage auf Grundlage der Tabelle tblAbwesenheit.<\/li>\n<li>F&uuml;gen Sie die Felder PersonalID und Abwesenheitart hinzu.<\/li>\n<li>Stellen Sie f&uuml;r das Feld Abwesenheitart das Kriterium 1 (= Urlaub) ein und klicken Sie auf das Symbol Funktionen in der Symbolleiste.<\/li>\n<li>Erstellen Sie in der Abfrage das berechnete Feld TageAbwesend mit Hilfe des nachstehenden Ausdrucks. Durch diesen Ausdruck wird die bereits bekannte Funktion WerktageZwischen() aufaddiert. (<\/li>\n<pre>TageAbwesend: Summe(WerktageZwischen(Nz([StartDatum]);Nz([EndDatum])))<\/pre>\n<p>Das Ergebnis der Abfrage zeigt die Summe der Urlaubstage f&uuml;r jeden einzelnen Mitarbeiter an (siehe Bild 19).<\/p>\n<p><IMG height=\"117\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic014.png\" width=\"289\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 14:  Ergebnis der Abfrage<\/span><\/b><\/p>\n<p>Das war der erste Schritt. Als N&auml;chstes greifen Sie einfach vom Feld UrlaubGenommen im Formular frmPersonal auf den gew&uuml;nschten Wert aus dieser Abfrage zu. Der folgende Ausdruck verwendet die DLookup-Funktion, um aus der Abfrage qryUrlaubstage den Wert des Feldes TageAbwesend f&uuml;r den aktuell im Formular angezeigten Mitarbeiter zu ermitteln:<\/p>\n<p>Der vollst&auml;ndige Ausdruck f&uuml;r das Feld UrlaubGenommen lautet:<\/p>\n<pre>=DomWert(\"[TageAbwesend]\";\"qryUrlaubstage\";\"[PersonalID] =\" & Formulare!frmPersonal!PersonalID)<\/pre>\n<h3>Das Feld Restlicher Jahresurlaub<\/h3>\n<p>Der restliche Jahresurlaub ergibt sich aus der Differenz der Felder UrlaubGesamt und UrlaubGenommen. Der Ausdruck f&uuml;r diese Berechnung lautet:<\/p>\n<pre>=Nz([UrlaubGesamt])-Nz([UrlaubGenommen])<\/pre>\n<p>Eine Gesamt&uuml;bersicht aller Fehlzeiten pro Mitarbeiter zeigt das gleichnamige Register im Formular frmPersonal an (siehe Bild 20).<\/p>\n<p><IMG height=\"325\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic015.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 15:  Das Register Gesamt&uuml;bersicht im Formular frmPersonal<\/span><\/b><\/p>\n<p>Die Registerseite Gesamt&uuml;bersicht enth&auml;lt drei Unterformulare zur Anzeige von Urlaubstagen, Krankheitstagen und sonstigen Fehltagen (siehe Bild 21).<\/p>\n<p><IMG height=\"342\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic016.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 16:  Die Unterformulare auf der Registerseite<\/span><\/b><\/p>\n<p>Der Aufbau wird in den folgenden Abschnitten beispielhaft f&uuml;r die Anzeige der Krankheitstage gezeigt.<\/p>\n<p>Grundlage f&uuml;r alle &uuml;bersichtsdaten ist die Abfrage qryUebersicht.<\/p>\n<p><b>Die Abfrage qryUebersicht<\/b><\/p>\n<p>Die Abfrage qryUebersicht errechnet wieder mit Hilfe der Funktion WerktageZwischen() die Anzahl der Abwesenheitstage (siehe Bild 22).<\/p>\n<p><IMG height=\"273\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic017.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 17:  Die Abfrage qryUebersicht in der Entwurfsansicht <\/span><\/b><\/p>\n<p>Weiterhin dient diese Abfrage auch als Datenherkunft f&uuml;r das Unterformular SubfrmUebersichtKrank und alle weiteren &uuml;bersichts-Unterformulare.<\/p>\n<p><b>Das Formular SubfrmUebersichtKrank<\/b><\/p>\n<p>Die Datenherkunft dieses Unterformulars ist folgende SQL-Anweisung:<\/p>\n<pre>SELECT qryUebersicht.* FROM qryUebersicht WHERE ((qryUebersicht.Abwesenheitart)=2);<\/pre>\n<p>Das Formular SubfrmUebersicht wird auf Grundlage der Abfrage qryUebersicht mit dem Kriterium f&uuml;r die Abwesenheitart 2 = Krank ge&ouml;ffnet.<\/p>\n<p>Die einzige Funktionalit&auml;t in diesem Unterformular liegt in der Addition der Urlaubstage in dem berechneten Feld TageAbwesend im Formularfu&szlig; (siehe Bild 23).<\/p>\n<p><IMG height=\"186\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic018.png\" width=\"314\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 18:  Das Unterformular SubfrmUebersichtKrank in der Entwurfsansicht<\/span><\/b><\/p>\n<p>Die Verkn&uuml;pfung des Unterformulars zum Hauptformular erfolgt &uuml;ber das Feld PersonalID. Dadurch ist gew&auml;hrleistet, dass die Krankheitstage eines jeden Mitarbeiters korrekt zugeordnet werden.<\/p>\n<p>Der letzte Abschnitt dieses Beitrags behandelt die Auswertung der Daten durch einen Papierausdruck.<\/p>\n<p><b>Vorbemerkung<\/b><\/p>\n<p>Grunds&auml;tzlich gilt: Gerade die Gestaltung von Berichten ist in vielen Access-Datenbankanwendungen von den spezifischen W&uuml;nschen und Bed&uuml;rfnissen des Anwenders abh&auml;ngig.<\/p>\n<p>Aus diesem Grund ist in dieser Musterl&ouml;sung ein Bericht vorhanden, der im Prinzip das im letzten Abschnitt vorgestellte Formular zur Gesamt&uuml;bersicht mit reduziertem Feldumfang wiedergibt.<\/p>\n<p><b>Der Bericht repAbwesenheit<\/b><\/p>\n<p>Der Bericht repAbwesenheit enth&auml;lt drei Unterberichte, die die Daten f&uuml;r einen ausgew&auml;hlten Mitarbeiter anzeigen (siehe Bild 24).<\/p>\n<p><IMG height=\"403\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic019.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 19:  Der Bericht repAbwesenheit<\/span><\/b><\/p>\n<h3>Darstellung der Urlaubsdaten<\/h3>\n<p>Die Urlaubsdaten eines Mitarbeiters werden im oberen Teil des Berichts angezeigt. Sie stammen aus dem berechneten Steuerelement UrlaubGenommen im Unterbericht.<\/p>\n<p>Wenn ein Mitarbeiter jedoch noch keinen Urlaub genommen hat, ist dieses Feld also leer. Als Folge ist in diesem Feld und allen anderen Feldern, die sich auf dieses Feld beziehen, die Anzeige #Fehler zu sehen.<\/p>\n<p>Die Abhilfe gegen diesen unsch&ouml;nen Zustand liegt in einer Wenn-Bedingung mit eingeschlossener Fehlerbehandlung.<\/p>\n<p>Der passende Ausdruck f&uuml;r das Feld UrlaubGenommen lautet in der ausf&uuml;hrlichen Schreibweise:<\/p>\n<pre>=Wenn(IsError(Berichte!repAbwesenheit!SubrepUrlaub.Bericht!TageUrlaub);0;Berichte!repAbwesenheit!SubrepUrlaub.Bericht!TageUrlaub)<\/pre>\n<p>Im Fehlerfall enth&auml;lt das Feld UrlaubGenommen den Wert 0, mit dem es problemlos rechnen bzw. den es anzeigen kann.<\/p>\n<p><b>Die Unterberichte<\/b><\/p>\n<p>Die drei Unterberichte basieren wie die &uuml;bersichtsunterformulare auf der Abfrage qryUebersicht, die die notwendige Berechnung der Abwesenheitstage leistet.<\/p>\n<p>Ebenso ist auch die Datenherkunft wieder eine SQL-Anweisung, die ein Kriterium f&uuml;r die Abwesenheitsart setzt. Hier das Beispiel f&uuml;r Urlaub:<\/p>\n<pre>SELECT qryUebersicht.* FROM qryUebersicht WHERE (([qryUebersicht].Abwesenheitart)=1);<\/pre>\n<p><IMG height=\"223\" src=\"..\/fileadmin\/_temp_\/{32B106E1-D9CE-4ADE-991F-7E026F3E8393}\/pic020.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 20:  Der Unterbericht SubrepUrlaub in der Entwurfsansicht <\/span><\/b><\/p>\n<p>Die Verkn&uuml;pfung der Unterberichte zum Hauptbericht erfolgt wieder &uuml;ber die Felder PersonalID.<\/p>\n<p><b>Der Berichtsaufruf<\/b><\/p>\n<p>Der Aufruf des Berichts repAbwesenheit erfolgt aus dem Formular frmPersonal heraus durch einen Klick auf die Schaltfl&auml;che btnDrucken.<\/p>\n<p>Die dabei aufgerufene Ereignisprozedur &ouml;ffnet den Bericht repAbwesenheit in der Vorschau f&uuml;r den Mitarbeiter, der im aktuellen Datensatz angezeigt wird.<\/p>\n<pre>Private Sub btnDrucken_Click()\r\n  DoCmd.OpenReport \"repAbwesenheit\", acViewPreview, , \"PersonalID = \" & Me.PersonalID\r\nEnd Sub<\/pre>\n<p>Diese Musterl&ouml;sung stellt einen ausbauf&auml;higen Ansatz zu einer Fehlzeiten- und Urlaubverwaltung dar.<\/p>\n<p>Folgende Punkte k&ouml;nnten im Rahmen einer Erweiterung dieser Musterl&ouml;sung in Betracht gezogen werden:<\/p>\n<li>Grafische Vergleichsdarstellung von Abwesenheiten,<\/li>\n<li>Verwaltung von Urlaubsperren bei wichtigen betrieblichen Ereignissen,<\/li>\n<li>Automatik beim Verfall des Resturlaubs im folgenden Jahr,<\/li>\n<li>Verwendung eines Kalendersteuerelements bei der Datumseingabe.<\/li>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Urlaub97.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/D425E48B-DE71-471F-93C4-6BB1135D101B\/aiu_90.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Urlaub, Krankheit oder sonstige Abwesenheit von Mitarbeitern sind in jedem Betrieb an der Tagesordnung. Das mag in manchen F&auml;llen unangenehm sein, ist aber in der Regel nicht zu &auml;ndern. Der vorliegende Beitrag zeigt Ihnen, wie Sie die Fehlzeiten der Mitarbeiter Ihrer Firma mit einer Access-Datenbank verwalten und kontrollieren k&ouml;nnen. Ein wichtiger Gesichtspunkt bei der Konzeption einer solchen L&ouml;sung ist es, den zur Verwaltung der Fehlzeiten notwendigen Zeitaufwand &#8211; das hei&szlig;t gleichzeitig auch die Kosten daf&uuml;r &#8211; zu minimieren. Der folgende Beitrag soll dazu einen Ansatzpunkt bieten.<\/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":[662002,66062002,44000027],"tags":[],"class_list":["post-55000090","post","type-post","status-publish","format-standard","hentry","category-662002","category-66062002","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>Urlaubsverwaltung mit Access - 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\/Urlaubsverwaltung_mit_Access\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Urlaubsverwaltung mit Access\" \/>\n<meta property=\"og:description\" content=\"Urlaub, Krankheit oder sonstige Abwesenheit von Mitarbeitern sind in jedem Betrieb an der Tagesordnung. Das mag in manchen F&auml;llen unangenehm sein, ist aber in der Regel nicht zu &auml;ndern. Der vorliegende Beitrag zeigt Ihnen, wie Sie die Fehlzeiten der Mitarbeiter Ihrer Firma mit einer Access-Datenbank verwalten und kontrollieren k&ouml;nnen. Ein wichtiger Gesichtspunkt bei der Konzeption einer solchen L&ouml;sung ist es, den zur Verwaltung der Fehlzeiten notwendigen Zeitaufwand - das hei&szlig;t gleichzeitig auch die Kosten daf&uuml;r - zu minimieren. Der folgende Beitrag soll dazu einen Ansatzpunkt bieten.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-22T16:16:21+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg02.met.vgwort.de\/na\/f8b01c87878d46f994745942297aa073\" \/>\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=\"13\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Urlaubsverwaltung mit Access\",\"datePublished\":\"2021-03-22T16:16:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/\"},\"wordCount\":2459,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/f8b01c87878d46f994745942297aa073\",\"articleSection\":[\"2002\",\"6\\\/2002\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/\",\"name\":\"Urlaubsverwaltung mit Access - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/f8b01c87878d46f994745942297aa073\",\"datePublished\":\"2021-03-22T16:16:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/f8b01c87878d46f994745942297aa073\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/f8b01c87878d46f994745942297aa073\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Urlaubsverwaltung_mit_Access\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Urlaubsverwaltung mit Access\"}]},{\"@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":"Urlaubsverwaltung mit Access - 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\/Urlaubsverwaltung_mit_Access\/","og_locale":"de_DE","og_type":"article","og_title":"Urlaubsverwaltung mit Access","og_description":"Urlaub, Krankheit oder sonstige Abwesenheit von Mitarbeitern sind in jedem Betrieb an der Tagesordnung. Das mag in manchen F&auml;llen unangenehm sein, ist aber in der Regel nicht zu &auml;ndern. Der vorliegende Beitrag zeigt Ihnen, wie Sie die Fehlzeiten der Mitarbeiter Ihrer Firma mit einer Access-Datenbank verwalten und kontrollieren k&ouml;nnen. Ein wichtiger Gesichtspunkt bei der Konzeption einer solchen L&ouml;sung ist es, den zur Verwaltung der Fehlzeiten notwendigen Zeitaufwand - das hei&szlig;t gleichzeitig auch die Kosten daf&uuml;r - zu minimieren. Der folgende Beitrag soll dazu einen Ansatzpunkt bieten.","og_url":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-03-22T16:16:21+00:00","og_image":[{"url":"http:\/\/vg02.met.vgwort.de\/na\/f8b01c87878d46f994745942297aa073","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"13\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Urlaubsverwaltung mit Access","datePublished":"2021-03-22T16:16:21+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/"},"wordCount":2459,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/f8b01c87878d46f994745942297aa073","articleSection":["2002","6\/2002","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/","url":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/","name":"Urlaubsverwaltung mit Access - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/f8b01c87878d46f994745942297aa073","datePublished":"2021-03-22T16:16:21+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/f8b01c87878d46f994745942297aa073","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/f8b01c87878d46f994745942297aa073"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Urlaubsverwaltung_mit_Access\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Urlaubsverwaltung mit Access"}]},{"@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\/55000090","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=55000090"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000090\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000090"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}