{"id":55000304,"date":"2005-10-01T00:00:00","date_gmt":"2023-03-17T20:35:03","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=304"},"modified":"2024-02-19T08:24:03","modified_gmt":"2024-02-19T08:24:03","slug":"projektzeitmanager","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/","title":{"rendered":"Projektzeitmanager"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/857efdfe17c14918b84b7a46fdcd5614\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<h3>Zusammenfassung<\/h3>\n<p>Erstellen Sie eine L&ouml;sung, mit der sich die T&auml;tigkeiten f&uuml;r verschiedene Projekte mit einem oder mehreren Mitarbeitern verwalten lassen.<\/p>\n<h3>Techniken<\/h3>\n<p>Formulare, Systray<\/p>\n<h3>Voraussetzungen<\/h3>\n<p>Access 2000 oder h&ouml;her<\/p>\n<h3>Beispieldateien<\/h3>\n<p><a href=''fileadmin\/files\/46_56_acc0505ml01.zip''>Projektzeitmanager00.mdb<\/a><\/p>\n<h3><\/h3>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>Haben Sie sich nicht auch schon immer einmal gew&uuml;nscht, auf ganz einfache Art zu dokumentieren, womit Sie am Arbeitsplatz so Ihre Zeit verbringen Wie haben Sie das angestellt &#8211; mit handschriftlichen Eintr&auml;gen in einen Kalender oder ein in B&uuml;chlein, mit einer Excel-Tabelle oder vielleicht auch direkt in Outlook Keine Sorge: Auch der Autor dieser Zeilen hat schon einige Varianten durchexerziert, ohne die gesammelten Daten anschlie&szlig;end auch nur einmal auszuwerten. Warum das so ist und wie Sie es sich einfacher machen, erfahren Sie in diesem Beitrag.<\/b><\/p>\n<p>Egal, ob Sie nun selbstst&auml;ndig oder angestellt sind &#8211; entweder es interessiert Sie selbst oder Ihren Chef, ob die Zeit, die Sie mit den verschiedenen T&auml;tigkeiten verbringen, auch gut genutzt ist.<\/p>\n<p>Die wichtigste Voraussetzung dazu ist, dass Sie jede T&auml;tigkeit, die mit den betroffenen Projekten zusammenh&auml;ngt, auch notieren &#8211; am besten minutengenau. Das ist allerdings gar nicht so einfach und erfordert genau wie das konzentrierte Arbeiten an den Projekten ein gewisses Ma&szlig; an Disziplin. Sie kennen das vielleicht: Ein Projekt dr&auml;ngt, man nimmt sich vor, die T&auml;tigkeiten am Abend zu notieren, es wird sp&auml;t, am n&auml;chsten Morgen ist auch keine Zeit und ehe man sich versieht, liegt die letzte Eintragung so weit zur&uuml;ck, dass man die Zeiten nicht mehr exakt zusammenbekommt.<\/p>\n<p>Dabei ist es &uuml;brigens egal, ob nun ein Kalender, ein Block, eine Excel-Tabelle oder Sonstiges als Notationswerkzeug herhalten muss. Und das liegt meist daran, dass der Aufwand f&uuml;r einen Eintrag zu gro&szlig; ist, als dass man ihn gerne zwischen zwei T&auml;tigkeiten auf sich nimmt.<\/p>\n<p>Sie ahnen es bereits: Dieser Beitrag soll eine M&ouml;glichkeit vorstellen, die f&uuml;r verschiedene T&auml;tigkeiten ben&ouml;tigte Zeit auf m&ouml;glichst einfache Weise zu notieren. Dass die so gesammelten Informationen sp&auml;ter auch noch ausgewertet werden, versteht sich von selbst.<\/p>\n<p>Wenn Sie bereits den Beitrag Software-Architektur aus dieser Ausgabe gelesen haben, wissen Sie schon, wie die Anwendung im Einzelnen aussehen soll &#8211; ansonsten hier die Kurzform:<\/p>\n<li>Die Anwendung liefert zwei Frontends: Eines zur Auswertung und eines zur Eingabe der T&auml;tigkeiten und der Zeiten.<\/li>\n<li>Das Frontend zur Eingabe der T&auml;tigkeiten soll schnell aufzurufen sein, nur die n&ouml;tigsten Informationen anzeigen und vor allem eine schnelle Eingabe der ben&ouml;tigten Daten erm&ouml;glichen.<\/li>\n<p>Den ersten Teil dieser Anwendung lernen Sie in dieser Ausgabe kennen: Er umfasst das komplette Frontend zur Eingabe von Daten sowie die Teile des Auswertungsfrontends, die f&uuml;r die Verwaltung der f&uuml;r die Eingabe ben&ouml;tigten Informationen wie Mitarbeiter und Projekte erforderlich sind.<\/p>\n<h3>Achtung, Betriebsrat!<\/h3>\n<p>Wenn Sie planen, ein Tool wie das hier vorgestellte in einem gr&ouml;&szlig;eren Unternehmen einzusetzen, sollten Sie dies vorher mit dem Betriebsrat abkl&auml;ren. Die Erfassung von T&auml;tigkeitszeiten wird von diesem meist nicht gern gesehen.<\/p>\n<p>Bevor Sie in den n&auml;chsten Kapiteln erfahren, wie Sie Ihr eigenes Tool zur Erfassung von T&auml;tigkeiten und der entsprechenden Zeiten erstellen, schauen Sie sich erst einmal an, was dabei herauskommen soll.<\/p>\n<h2>In Lauerstellung<\/h2>\n<p>Abb. 1 zeigt, wo Sie den Projektzeitmanager finden, wenn Sie mit anderen Dingen besch&auml;ftigt sind: Er wartet geduldig im Systray von Windows auf seinen Einsatz.<\/p>\n<p><IMG height=\"79\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic001.png\" width=\"177\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 1: Der Projektzeitmanager zieht sich in das Systray zur&uuml;ck &#8230;<\/b><\/p>\n<p>Per Doppelklick oder wie in Abb. 2 zu erkennen per Kontextmen&uuml; l&auml;sst sich der Projektzeitmanager aktivieren. Letztere Variante er&ouml;ffnet zus&auml;tzlich die M&ouml;glichkeit, die Anwendung zu beenden oder die komplette Access-Anwendung anzuzeigen.<\/p>\n<p><IMG height=\"108\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic002.png\" width=\"284\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 2: &#8230; und l&auml;sst sich bei Bedarf von dort aktivieren.<\/b><\/p>\n<p>Die komplette Anwendung anzeigen Ja, Sie lesen richtig: Der Projektzeitmanager offenbart sich lediglich durch ein einzelnes Formular ohne Access-Fenster. Das sieht dann etwa wie in Abb. 3 aus.<\/p>\n<h2>Projektzeiten im &uuml;berblick<\/h2>\n<p>Hier finden sich auch direkt die wesentlichen Bedienungsmerkmale des Frontends f&uuml;r die Eingabe von T&auml;tigkeiten &#8211; die Liste der Projekte des im Kopf angegebenen Mitarbeiters. Das Formular ermittelt automatisch aus einer Tabelle den Mitarbeitereintrag, der dem unter Windows angemeldeten Benutzer entspricht, und zeigt dessen Projekte an. Das aktuelle Projekt wird grau unterlegt dargestellt.<\/p>\n<p>Das Formular bietet f&uuml;nf m&ouml;gliche Aktionen:<\/p>\n<li>Ausw&auml;hlen eines anderen als des grau markierten Projekts als neues, aktuelles Projekt<\/li>\n<li>Den Eintrag Keine aktuelle T&auml;tigkeit ausw&auml;hlen und damit die aktuelle T&auml;tigkeit beenden<\/li>\n<li>Ausblenden des Formulars<\/li>\n<li>&ouml;ffnen eines Dialoges zum Verwalten der angezeigten Projekte<\/li>\n<li>Beenden der Anwendung mit der Schlie&szlig;en-Schaltfl&auml;che<\/li>\n<h2>T&auml;tigkeitsinformationen im Nu<\/h2>\n<p>Beim Verlassen der aktuellen T&auml;tigkeit zu einer anderen oder ohne Aufnahme einer neuen T&auml;tigkeit erscheint der Dialog aus Abb. 4. Dort sind lediglich zwei Felder auszuf&uuml;llen: Die T&auml;tigkeitsbeschreibung und die T&auml;tigkeitsart, wobei Letztere lediglich die Auswahl eines bestehenden Wertes erfordert. Alle anderen Informationen wie das betroffene Projekt, der aktuelle Mitarbeiter, Startzeit und Endzeit sind bereits vorausgef&uuml;llt und werden nur zur Kontrolle angezeigt.<\/p>\n<p><IMG height=\"386\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic003.png\" width=\"219\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 3: Formular ohne Accessfenster: Der Projektzeitmanager.<\/b><\/p>\n<p><IMG height=\"278\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic004.png\" width=\"316\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 4: Anlegen der Beschreibung einer T&auml;tigkeit<\/b><\/p>\n<p>Nach dem Bet&auml;tigen der OK-Schaltfl&auml;che wechselt das Formular aus Abb. 3 den als aktuelles Projekt markierten Eintrag.<\/p>\n<h3>Projekte verwalten<\/h3>\n<p>Mit der Schaltfl&auml;che Projekte verwalten &ouml;ffnen Sie den Dialog aus Abb. 5. Dieser Dialog zeigt alle Projekte an, die dem aktuellen Mitarbeiter zugeordnet sind.<\/p>\n<p>Der Mitarbeiter kann hier selbst festlegen, welche Projekte im Projektzeitmanager angezeigt werden sollen. Au&szlig;erdem l&auml;sst sich hier die Reihenfolge der Eintr&auml;ge einstellen.<\/p>\n<p>Selbst die wichtigsten Mitarbeiter mit vielen Projekten k&ouml;nnen hier aussortieren und Priorit&auml;ten festlegen.<\/p>\n<p>Die Reihenfolge stellen Sie mit den vier Schaltfl&auml;chen rechts vom Listenfeld ein. Der Beitrag Listenfelder individuell sortieren (Shortlink 285) liefert die Grundlagen f&uuml;r die hier verwendete Technik.<\/p>\n<p>Aktivieren und deaktivieren lassen sich Eintr&auml;ge per Doppelklick. Das x in der Spalte Aktiv verschwindet f&uuml;r nicht aktivierte Eintr&auml;ge. Nicht aktivierte Eintr&auml;ge erscheinen nicht im Projektzeitmanager.<\/p>\n<p><IMG height=\"299\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic005.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 5: Dialog zum Verwalten der Projekte des aktuellen Mitarbeiters<\/b><\/p>\n<h2>Eingabe von Daten<\/h2>\n<p>Nat&uuml;rlich m&uuml;ssen Sie vor der Inbetriebnahme des Tools einige Daten eingeben &#8211; zumindest die Projekte und Mitarbeiter. Dazu dienen zwei Formulare.<\/p>\n<p>Die Eingabe der Projekte erfolgt mit dem Formular aus Abb. 6. F&uuml;r die Funktionst&uuml;chtigkeit des Projektzeitmanagers ist lediglich die Eingabe der Projektbezeichnung erforderlich.<\/p>\n<p>Bei den Mitarbeitern sind einige Informationen mehr einzugeben. Neben dem Vor- und dem Nachnamen ist die Eingabe des Windows-Anmeldenamens unbedingt notwendig. Anderenfalls kann der Projektzeitmanager den aktuell angemeldeten Benutzer nicht mit dem in der Tabelle angegebenen Mitarbeiter abgleichen und dessen Projekte anzeigen. Die Projekte werden &uuml;brigens ebenfalls &uuml;ber das Formular zur Eingabe der Mitarbeiter zugewiesen. Alle hier angegebenen Projekte werden auch in dem Formular angezeigt, das vom Projektzeitmanager aufgerufen werden kann (s. Abb. 7).<\/p>\n<p><IMG height=\"338\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic006.png\" width=\"395\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 6: Formular zum Verwalten der Projekte<\/b><\/p>\n<p><IMG height=\"497\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic007.png\" width=\"428\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 7: Eingeben von Mitarbeitern und ihren Projekten<\/b><\/p>\n<p>Diese beiden Formulare werden genau wie die M&ouml;glichkeiten zur Auswertung der gewonnenen Daten im zweiten Teil dieser Beitragsreihe in der folgenden Ausgabe von Access im Unternehmen vorgestellt.<\/p>\n<p>Mitarbeiter und Projekte bilden den Mittelpunkt der Projektzeitverwaltung. Diese werden jeweils in einer eigenen Tabelle gespeichert. Zwischen diesen beiden Tabellen gibt es verschiedene Verkn&uuml;pfungen, die in Abb. 8 zu erkennen sind: Die erste wird &uuml;ber eine 1:n-Beziehung realisiert, die das Fremdschl&uuml;sselfeld ProjektleiterID der Tabelle tblProjekte mit der Tabelle tblMitarbeiter verkn&uuml;pft.<\/p>\n<p>Die zweite Beziehung wird als m:n-Beziehung &uuml;ber eine Verkn&uuml;pfungstabelle hergestellt. Mit dieser Verkn&uuml;pfung lassen sich jedem Mitarbeiter die Projekte zuweisen, die f&uuml;r diesen im Projektzeitmanager zur Verf&uuml;gung stehen sollen.<\/p>\n<p>Die Verkn&uuml;pfungstabelle tblProjekteMitarbeiter enth&auml;lt noch ein paar Felder mehr als nur die Verkn&uuml;pfungsfelder zu den Tabellen tblProjekte und tblMitarbeiter.<\/p>\n<p>Diese sind allesamt f&uuml;r die Anzeige der Projekte eines Mitarbeiters im Projektzeitmanager verantwortlich:<\/p>\n<li>Aktiviert: Legt fest, ob ein dem Mitarbeiter zugewiesenes Projekt auch im Projektzeitmanager angezeigt wird.<\/li>\n<li>ReihenfolgeID: Legt die Reihenfolge fest, in der die aktiven Projekte angezeigt werden &#8211; so k&ouml;nnen wichtige oder oft ben&ouml;tigte Projekte weiter oben angeordnet werden.<\/li>\n<li>Aktuell: Wird auf Ja eingestellt, wenn es sich bei dem Projekt um das derzeit bearbeitete Projekt eines Mitarbeiters handelt. Dieses Feld kann nur f&uuml;r jeweils ein Projekt eines Mitarbeiters auf den Wert Ja eingestellt werden.<\/li>\n<p>Die Tabelle tblMitarbeiter enth&auml;lt den Vor- und den Nachnamen eines Mitarbeiters sowie den Windows-Anmeldenamen. &uuml;ber den Windows-Anmeldenamen wird ermittelt, welcher der in der Tabelle enthaltenen Mitarbeiter der aktuelle Mitarbeiter ist. Nur f&uuml;r diesen zeigt der Projektzeitmanager Informationen an.<\/p>\n<p>Die Projekttabelle liefert &uuml;bliche Projektinformationen wie Bezeichnung, Beschreibung, Kunde oder Start- und Enddatum. Die Kunden werden dabei &uuml;ber das Fremdschl&uuml;sselfeld KundeID mit den Eintr&auml;gen der Tabelle tblKunden verkn&uuml;pft.<\/p>\n<p><IMG height=\"303\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic008.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 8: Datenmodell der Projektzeitverwaltung<\/b><\/p>\n<p>Die Tabelle tblProjektzeiten dient genau wie die Tabelle tblProjekteMitarbeiter als Verkn&uuml;pfungstabelle zur Herstellung einer m:n-Beziehung zwischen Projekten und Mitarbeitern. <\/p>\n<p>Die Tabelle ist jedoch mehr als nur eine Verkn&uuml;pfungstabelle: In ihr werden die Zeiten gespeichert, welche die Mitarbeiter mit den ihnen &uuml;bertragenen Projekten verbringen.<\/p>\n<p>Au&szlig;erdem soll zu jedem zusammenh&auml;ngenden Zeitraum eine T&auml;tigkeitsbeschreibung und eine T&auml;tigkeitsart eingegeben werden.<\/p>\n<p>Die T&auml;tigkeitsart l&auml;sst sich dabei &uuml;ber das Fremdschl&uuml;sselfeld Taetigkeitsart aus der Tabelle tblTaetigkeitsarten ausw&auml;hlen.<\/p>\n<p>F&uuml;r das Feld Aktiviert sollten Sie au&szlig;erdem die Eigenschaft Standardwert auf den Wert Ja einstellen, damit die einem Mitarbeiter zugeteilten Projekte im sp&auml;ter beschriebenen Formular auch direkt angezeigt werden.<\/p>\n<p>In diesem ersten Teil der Beschreibung des Projektzeitmanagers spielt das Formular frmProjektzeiteingabe die Hauptrolle. Es listet die f&uuml;r einen Mitarbeiter festgelegten Projekte auf und bietet die M&ouml;glichkeit, ein Projekt als das aktuelle Projekt auszuw&auml;hlen oder anzugeben, dass man gerade nicht mit einem Projekt besch&auml;ftigt ist (s. Abb. 3).<\/p>\n<p>In der Entwurfsansicht sieht das Formular wie in Abb. 9 aus. Betrachten Sie zun&auml;chst die Textfelder zur Anzeige der Projekte beziehungsweise des Textes Keine aktuelle T&auml;tigkeit (Steuerelementname: txtKeineTaetigkeit). Die Anzeige der Projekte erfolgt &uuml;ber ein gebundenes Textfeld namens Projektbezeichnung, das seine Daten aus dem Feld Projektbezeichnung der zugrunde liegenden Datenherkunft bezieht.<\/p>\n<h3>Anpassen des Layouts<\/h3>\n<p>Damit wie in Abb. 3 mehrere Projekte gleichzeitig angezeigt werden, stellen Sie die Eigenschaft Standardansicht auf Endlos ein. Stellen Sie au&szlig;erdem die Eigenschaften Datensatzmarkierer, Navigationsschaltfl&auml;chen und Trennlinien auf den Wert Nein ein.<\/p>\n<p><IMG height=\"304\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic009.png\" width=\"319\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 9: Das Formular zur Eingabe von Projektzeiten in der Entwurfsansicht<\/b><\/p>\n<p>Diese Datenherkunft hei&szlig;t qryfrmProjektzeiteingabe und sieht wie in Abb. 10 aus. Die Abfrage enth&auml;lt Felder der verkn&uuml;pften Tabellen tblProjekte, tblProjekteMitarbeiter und tblMitarbeiter.<\/p>\n<p>Die Abfrage beinhaltet zwei Kriterien: Das Feld MitarbeiterID muss mit dem Ergebnis der Funktion AktuellerMitarbeiter &uuml;bereinstimmen und das Feld Aktiviert muss den Wert Wahr enthalten.<\/p>\n<p><IMG height=\"226\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic010.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 10: Datenherkunft des Formulars frmProjektzeiteingabe<\/b><\/p>\n<p><b>Quellcode 1: Ermitteln des aktuellen Mitarbeiters<\/b><\/p>\n<pre>Public Function AktuellerMitarbeiter() As Long\n    Dim strWindowsAnmeldename As String\n    Dim db As DAO.Database\n    Dim rstMitarbeiter As DAO.Recordset\n    Dim lngMitarbeiterID As Long\n    Set db = CurrentDb\n    strWindowsAnmeldename = CurrentWinUser\n    Set rstMitarbeiter = db.OpenRecordset( _        \"SELECT MitarbeiterID FROM tblMitarbeiter \" _        & \"WHERE WindowsAnmeldename = ''\" _        & strWindowsAnmeldename & \"''\", dbOpenDynaset)\n    If Not rstMitarbeiter.EOF Then\n        lngMitarbeiterID = rstMitarbeiter!MitarbeiterID\n    Else\n        lngMitarbeiterID = 0\n    End If\n    AktuellerMitarbeiter = lngMitarbeiterID\n    rstMitarbeiter.Close\n    Set rstMitarbeiter = Nothing\nEnd Function<\/pre>\n<p><b>Quellcode 2: Initialisieren des Formulars<\/b><\/p>\n<pre>Private lngProjektID As Long\nPrivate Sub Form_Open(Cancel As Integer)\n    Dim strIcon As String\n    lngProjektID = AktuellesProjekt(Me!MitarbeiterID)\n    If Not lngProjektID = 0 Then\n        Me.Recordset.FindFirst \"ProjektID = \" & lngProjektID\n        strIcon = Datenbankpfad & \"green.ico\"\n    Else\n        strIcon = Datenbankpfad & \"red.ico\"\n    End If\n    SetFormIcon Me.hWnd, strIcon\n    SetTrayIcon Me.hWnd, strIcon\n    RestoreForm Me.hWnd\nEnd Sub<\/pre>\n<h3>Ermitteln des aktuellen Mitarbeiters<\/h3>\n<p>Der aktuelle Mitarbeiter wird mit der Funktion AktuellerMitarbeiter ermittelt (s. Quellcode 1). Die Routine verwendet die Funktion CurrentWinUser, die den Aufruf einer API-Funktion kapselt und den Namen des aktuellen Windows-Benutzers ermittelt.<\/p>\n<p>Anschlie&szlig;end durchsucht die Funktion die Tabelle tblMitarbeiter nach einem Mitarbeiter mit einem passenden Windows-Anmeldenamen und gibt im Erfolgsfall dessen MitarbeiterID zur&uuml;ck. Anderenfalls hat die Funktion den Wert 0.<\/p>\n<p>Nachdem mit Hilfe dieser Funktion die Datenherkunft des Formulars ermittelt ist, ruft das Formular die Beim &ouml;ffnen-Ereignisprozedur auf (s. Quellcode 2).<\/p>\n<p>Diese Routine ermittelt zun&auml;chst mit der Funktion AktuellesProjekt das aktuelle Projekt eines Mitarbeiters (s. Quellcode 3) und speichert seine ProjektID in der modulweit deklarierten Variablen lngProjektID. Ist eines vorhanden, hat also die ProjektID einen Wert ungleich 0, setzt sie den Datensatzzeiger mit der FindFirst-Methode des Recordsets auf den entsprechenden Datensatz. Zus&auml;tzlich legt die Routine in diesem Fall das Icon green.ico als Symbol f&uuml;r das Systray fest, anderenfalls kommt das Icon red.ico zum Zuge.<\/p>\n<p><b>Quellcode 3: Funktion zum Ermitteln des aktuellen Projekts eines Mitarbeiters<\/b><\/p>\n<pre>Private Function AktuellesProjekt(lngMitarbeiterID As Long) As Long\n    AktuellesProjekt = Nz(DLookup(\"ProjektID\", \"tblProjekteMitarbeiter\", \"MitarbeiterID = \" _        & lngMitarbeiterID & \" AND Aktuell = True\"), 0)\nEnd Function<\/pre>\n<p>Die beiden folgenden Aufrufe sorgen daf&uuml;r, dass das ermittelte Symbol im Systray angezeigt und das Formular aktiviert wird. Das Access-Fenster wird dabei ausgeblendet.<\/p>\n<h3>Inbetriebnahme des Formulars<\/h3>\n<p>Um den aktuellen Stand zu begutachten, legen Sie ein paar Datens&auml;tze f&uuml;r die Tabellen tblMitarbeiter, tblProjekte und tblProjekteMitarbeiter an. Dabei sollten Sie f&uuml;r das Feld WindowsAnmeldename der Tabelle tblMitarbeiter Ihren aktuellen Windows-Anmeldenamen eintragen &#8211; anderenfalls kann die Funktion AktuellerMitarbeiter Sie nicht identifizieren.<\/p>\n<p>Zum Anlegen der Daten k&ouml;nnen Sie auch die beiden Formulare frmProjekte und frmMitarbeiter verwenden. Legen Sie dabei zun&auml;chst einige Projekte an und erst dann einen oder mehrere Mitarbeiter, da Sie den Mitarbeitern so direkt die entsprechenden Projekte zuweisen k&ouml;nnen.<\/p>\n<p>Die beiden Formulare enthalten keine gro&szlig;en technischen Feinheiten, sodass hier von einer detaillierten Beschreibung abgesehen wird.<\/p>\n<h3>Aktuelles Projekt hervorheben<\/h3>\n<p>Eine wichtige Funktion des Formulars ist das Hervorheben des aktuell bearbeiteten Projekts. Die einfachste M&ouml;glichkeit ist die Verwendung der bedingten Formatierung.<\/p>\n<p>&ouml;ffnen Sie den Dialog Bedingte Formatierung &uuml;ber das Kontextmen&uuml; des Textfeldes Projektbezeichnung und nehmen Sie die Einstellungen aus Abb. 11 vor.<\/p>\n<p><IMG height=\"173\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic011.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 11: Bedingte Formatierung f&uuml;r das aktuell bearbeitete Projekt<\/b><\/p>\n<h2>Wechseln des aktuellen Projekts<\/h2>\n<p>Mit einem Mausklick auf eines der anderen angezeigten Projekte soll dieses zum aktuellen Projekt gemacht werden. Dabei sind folgende Aufgaben zu erledigen:<\/p>\n<li>Setzen des Feldwerts Aktuell des bisher aktivierten Projekts auf False<\/li>\n<li>Setzen des Feldwerts Aktuell des neu ausgew&auml;hlten Projekts auf True<\/li>\n<li>Eintragen der f&uuml;r das vorherige Projekt ausgef&uuml;hrten T&auml;tigkeiten in die Tabelle tblProjekteMitarbeiter<\/li>\n<p>Diese Aufgaben werden durch die Prozedur durchgef&uuml;hrt, die durch das Ereignis Beim Klicken des Textfeldes Projektbezeichnung angesto&szlig;en wird (s. Quellcode 4).<\/p>\n<p><b>Quellcode 4: Neues aktuelles Projekt festlegen<\/b><\/p>\n<pre>Private Sub Projektbezeichnung_Click()\n    Dim db As DAO.Database\n    Dim strIcon As String\n    If Not lngProjektID = Me.ProjektID Then\n        Set db = CurrentDb\n        ''Wenn aktuelles Projekt...\n        If Not lngProjektID = 0 Then\n            ''Daten zu vorherigem Projekt in externem Formular eingeben\n            DoCmd.OpenForm \"frmProjektzeitAnlegen\", WindowMode:=acDialog, _                WhereCondition:=\"MitarbeiterID = \" & Me!MitarbeiterID & \" AND ProjektID = \" _                & lngProjektID & \" AND Endzeit IS NULL\"\n            If CurrentProject.AllForms(\"frmProjektzeitAnlegen\").IsLoaded Then\n                db.Execute \"UPDATE tblProjekteMitarbeiter SET Aktuell = False \" _                & \"WHERE MitarbeiterID = \" & Me!MitarbeiterID\n                DoCmd.Close acForm, \"frmProjektzeitAnlegen\"\n            Else\n                Exit Sub\n            End If\n        End If\n        ''Neues aktuelles Projekt\n        lngProjektID = Me.ProjektID\n        ''Anlegen eines Projektzeit-Eintrags f&uuml;r das neue Projekt\n        db.Execute \"INSERT INTO tblProjektzeiten(ProjektID, MitarbeiterID, Startzeit) VALUES(\" _            & lngProjektID & \",\" & Me!MitarbeiterID & \",''\" & Now & \"'')\", dbFailOnError\n        ''Aktuelles Projekt als ''aktuell'' kennzeichnen\n        db.Execute \"UPDATE tblProjekteMitarbeiter SET Aktuell = True WHERE MitarbeiterID = \" _            & Me!MitarbeiterID & \" AND ProjektID = \" & lngProjektID\n        ''Formular aktualisieren und gr&uuml;nes Icon anzeigen\n        Me.Requery\n        strIcon = \"green.ico\"\n        SetTrayIcon Me.hWnd, Datenbankpfad & strIcon\n        Set db = Nothing\n    End If\nEnd Sub<\/pre>\n<p>Die Routine pr&uuml;ft zun&auml;chst, ob der Wert der Variablen lngProjektID mit dem angeklickten Projekt &uuml;bereinstimmt (lngProjektID wurde beim &ouml;ffnen des Formulars festgelegt). Ist das der Fall, hat der Benutzer auf das aktuelle Projekt geklickt &#8211; in dem Fall ist nichts zu veranlassen.<\/p>\n<p>In allen anderen F&auml;llen hat der Benutzer ein anderes Projekt als das aktuelle Projekt ausgew&auml;hlt. Hier gibt es zwei M&ouml;glichkeiten: Entweder er hat vorher ein Projekt bearbeitet oder auch nicht. Im ersteren Fall muss diese T&auml;tigkeit abgeschlossen werden, indem der Benutzer in ein weiteres Formular eine T&auml;tigkeitsbeschreibung sowie die T&auml;tigkeitsart eingibt &#8211; mehr zu diesem Formular in Kapitel 5. Im gleichen Zuge werden alle Projekte des Benutzers in der Tabelle tblProjekteMitarbeiter als &#8222;nicht aktuell&#8220; markiert.<\/p>\n<p>Anschlie&szlig;end legt die Routine einen neuen Eintrag in der Tabelle tblTaetigkeiten mit der gew&auml;hlten ProjektID, der MitarbeiterID des Benutzers und der aktuellen Zeit als Startzeit an. Au&szlig;erdem wird das gew&auml;hlte Projekt in der Tabelle tblProjekteMitarbeiter als das aktuelle Projekt des Mitarbeiters markiert.<\/p>\n<p>Nach dem Aktualisieren des Formulars wird schlie&szlig;lich noch das gr&uuml;ne Symbol im Systray angezeigt &#8211; das signalisiert: &#8222;Der Benutzer ist flei&szlig;ig&#8220;.<\/p>\n<h2>Abschlie&szlig;en einer T&auml;tigkeit ohne neue T&auml;tigkeit<\/h2>\n<p><b>Quellcode 5: Beenden einer T&auml;tigkeit ohne neue T&auml;tigkeit<\/b><\/p>\n<pre>Private Sub txtOhneTaetigkeit_Click()\n    If Not lngProjektID = 0 Then\n        DoCmd.OpenForm \"frmProjektzeitAnlegen\", WindowMode:=acDialog, _            WhereCondition:=\"MitarbeiterID = \" & Me!MitarbeiterID & \" AND ProjektID = \" _            & lngProjektID & \" AND Endzeit IS NULL\"\n        If CurrentProject.AllForms(\"frmProjektzeitAnlegen\").IsLoaded Then\n            CurrentDb.Execute \"UPDATE tblProjekteMitarbeiter SET Aktuell = False WHERE \" _                & \"MitarbeiterID = \" & Me!MitarbeiterID\n            lngProjektID = 0\n            Me.Requery\n            DoCmd.Close acForm, \"frmProjektzeitAnlegen\"\n            SetTrayIcon Me.hWnd, Datenbankpfad & \"red.ico\"\n        End If\n    End If\nEnd Sub<\/pre>\n<p><b>Quellcode 6: Aufrufen des Formulars zum Verwalten der Projekte eines Mitarbeiters<\/b><\/p>\n<pre>Private Sub cmdProjekteVerwalten_Click()\n    DoCmd.OpenForm \"frmProjekteVerwalten\", WindowMode:=acDialog, OpenArgs:=Me!MitarbeiterID\n    Me.Requery\nEnd Sub<\/pre>\n<p>Wenn der Benutzer Pause oder Feierabend macht, muss er dies nat&uuml;rlich auch der Projektzeitverwaltung mitteilen. Dazu dient das Textfeld txtOhneTaetigkeit, das beim Anklicken die Routine aus Quellcode 5 ausl&ouml;st. Die Routine pr&uuml;ft, ob der Mitarbeiter gerade ein Projekt bearbeitet, und zeigt in diesem Fall wiederum das Formular zum Abschlie&szlig;en der aktuellen T&auml;tigkeit an. Au&szlig;erdem stellt es die Eigenschaft lngProjektID auf den Wert 0 ein, um anzuzeigen, dass der Benutzer derzeit kein Projekt bearbeitet.<\/p>\n<p>Im gleichen Zuge wird die Anzeige im Formular aktualisiert und das rote Icon im Systray eingeblendet. Auf diese Weise kann der Benutzer schnell erkennen, dass er in den Augen des Projektzeitmanagers gerade D&auml;umchen dreht.<\/p>\n<h2>Verwalten von Projekten<\/h2>\n<p>Mit der Schaltfl&auml;che cmdProjekteVerwalten &ouml;ffnen Sie das Formular frmProjekteVerwalten und aktualisieren nach dem Schlie&szlig;en dieses Formulars die Anzeige der Projekte im aufrufenden Formular (s. Quellcode 6).<\/p>\n<h2>Schlie&szlig;en des Formulars<\/h2>\n<p>Das Ereignis Beim Schlie&szlig;en des Formulars l&ouml;st eine Prozedur aus, die zwei Aufgaben erledigt. Erstens schlie&szlig;t sie die komplette Anwendung, denn diese manifestiert sich ja praktisch in dem Formular frmProjektzeiteingabe. Wenn das Formular geschlossen wird, soll also auch die Anwendung beendet werden. Anderenfalls h&auml;tten Sie eine ge&ouml;ffnete Access-Anwendung ohne Benutzeroberfl&auml;che, die sich nur noch &uuml;ber den Taskmanager beenden l&auml;sst. Mit Beenden der Anwendung soll nat&uuml;rlich auch das Symbol aus dem Systray verschwinden, was ebenfalls in dieser Ereignisprozedur geschieht.<\/p>\n<h2>Sonstige Funktionen<\/h2>\n<p>Das Formular enth&auml;lt noch eine Schaltfl&auml;che namens cmdMinimieren, die f&uuml;r das Ausblenden des Formulars sorgt. Dieses l&ouml;st die Routine aus Quellcode 7 aus, die relativ trivial aussieht.<\/p>\n<p><b>Quellcode 7: Minimieren des Formulars<\/b><\/p>\n<pre>Private Sub cmdAusblenden_Click()\n    DoCmd.Minimize\nEnd Sub<\/pre>\n<p>Indirekt sorgt das Minimieren jedoch f&uuml;r weitere Aktionen: Dabei wird n&auml;mlich gleichzeitig das Ereignis Bei Gr&ouml;&szlig;en&auml;nderung ausgel&ouml;st, das seinerseits eine mit der Verwendung des Systrays in Zusammenhang stehende Routine aufruft. Dort wird schlie&szlig;lich gepr&uuml;ft, ob die Gr&ouml;&szlig;en&auml;nderung von einer Minimierung des Formulars herr&uuml;hrt. Ist das der Fall, wird das Formular nicht einfach nur minimiert, sondern in der Form unsichtbar gemacht, dass kein entsprechender Eintrag mehr in der Taskleiste angezeigt wird, sondern nur das Symbol im Systray erhalten bleibt.<\/p>\n<h3>Rund ums Systray<\/h3>\n<p>Zwei weitere Formularereignisse sorgen f&uuml;r die Bereitstellung der mit dem Systray in Zusammenhang stehenden Funktionen. Dabei handelt es sich um die Ereigniseigenschaft Bei Mausbewegung des Detailbereichs und des Formularkopfes. Die hier angelegten Aufrufe der Funktion TrayIconAction sorgen daf&uuml;r, dass Mausaktionen auf dem Symbol der Anwendung im Systray zur Ausf&uuml;hrung der passenden Routinen f&uuml;hren.<\/p>\n<p>So f&uuml;hrt ein Doppelklick auf das Symbol zur Anzeige des Hauptformulars des Projektzeitmanagers. Die rechte Maustaste zeigt wie gewohnt das Kontextmen&uuml; des Systray-Symbols an, das neben der M&ouml;glichkeit zum Aktivieren des Hauptformulars auch noch zur Anzeige des Access-Fensters und zum Schlie&szlig;en der Anwendung dienen kann. F&uuml;r weitere Informationen studieren Sie einfach das Klassenmodul des Formulars frmProjektzeiteingabe und das Modul mdlSystray. Letzteres enth&auml;lt alle vom Formular aus aufgerufenen Routinen.<\/p>\n<p>Das Formular frmProjektzeitAnlegen (s. Abb. 12) ist an die Tabelle tblProjektzeiten gebunden.<\/p>\n<p>Es enth&auml;lt lediglich drei kleine Ereignisprozeduren, die das Feld Endzeit beim &ouml;ffnen des Formulars auf die aktuelle Zeit einstellen, beim Klick auf die Schaltfl&auml;che cmdAbbrechen die &auml;nderungen verwerfen und das Formular schlie&szlig;en und das Formular beim Klick auf die Schaltfl&auml;che cmdOK unsichtbar machen.<\/p>\n<p><IMG height=\"354\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic012.png\" width=\"372\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 12: Formular zur Eingabe von T&auml;tigkeiten in der Entwurfsansicht<\/b><\/p>\n<p>Das Formular frmProjekteVerwalten ist wie in Abb. 13 aufgebaut. Es bezieht seine Daten aus der Tabelle tblMitarbeiter, die beim &ouml;ffnen &uuml;ber die DoCmd.OpenForm-Methode nach dem aktuellen Mitarbeiter gefiltert wird.<\/p>\n<p><IMG height=\"333\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic013.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 13: Aufbau des Formulars frmProjekteVerwalten<\/b><\/p>\n<p>Beim &ouml;ffnen des Formulars wird die Ereignisprozedur aus Quellcode 8 ausgel&ouml;st, die f&uuml;r das Initialisieren der Reihenfolge der Projekte des aktuellen Mitarbeiters sorgt und die Anzeige im Listenfeld lstProjekte aktualisiert.<\/p>\n<p>Dieses Listenfeld verwendet die Abfrage aus Abb. 14 als Datensatzherkunft. Es ist fast wie die Datenherkunft des Hauptformulars der Anwendung aufgebaut, filtert die Daten aber nicht nach aktiven Projekten &#8211; schlie&szlig;lich soll das Listenfeld alle Projekte des Mitarbeiters anzeigen und diesem selbst die M&ouml;glichkeit geben, die f&uuml;r die Anzeige im Hauptformular vorgesehenen Projekte und ihre Reihenfolge festzulegen.<\/p>\n<p><IMG height=\"170\" src=\"..\/fileadmin\/_temp_\/{8459D935-77A4-42E2-BE2D-36766B09EDDE}\/pic014.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 14: Datensatzherkunft des Listenfeldes lstProjekte<\/b><\/p>\n<p><b>Quellcode 8: Beim &ouml;ffnen des Formulars frmProjekteVerwalten wird zun&auml;chst die Reihenfolge der Projekte initialisiert.<\/b><\/p>\n<pre>Private Sub Form_Open(Cancel As Integer)\n    InitializeOrder \"tblProjekteMitarbeiter\", \"ReihenfolgeID\", _        \"MitarbeiterID = \" & Me!MitarbeiterID\n    Me!lstProjekte.Requery\nEnd Sub<\/pre>\n<p><b>Quellcode 9: Aktivieren und deaktivieren von Projekten per Doppelklick<\/b><\/p>\n<pre>Private Sub lstProjekte_DblClick(Cancel As Integer)\n    If IsNull(Me!lstProjekte) Then\n        MsgBox \"Bitte w&auml;hlen Sie zun&auml;chst ein Projekt aus.\"\n        Exit Sub\n    End If\n    If Me!lstProjekte.Column(5) = False Then\n        CurrentDb.Execute \"UPDATE tblProjekteMitarbeiter SET Aktiviert = IIF(Aktiviert = True, \" _            & \" False, True) WHERE ProjekteMitarbeiterID = \" & Me!lstProjekte\n        Me!lstProjekte.Requery\n    Else\n        MsgBox \"Sie k&ouml;nnen dieses Projekt nicht deaktivieren, da Sie gerade eine T&auml;tigkeit \" _            & \"f&uuml;r dieses Projekt durchf&uuml;hren.\"\n    End If\nEnd Sub<\/pre>\n<p>Das Listenfeld enth&auml;lt eine Prozedur, die beim Doppelklick auf einen Eintrag ausgel&ouml;st wird und dessen Feld Aktiviert &auml;ndert &#8211; sodass ein aktiviertes Projekt deaktiviert und ein deaktiviertes Projekt aktiviert wird.<\/p>\n<p>Die Schaltfl&auml;chen rechts neben dem Listenfeld l&ouml;sen Routinen aus, die im Wesentlichen mit den im Beitrag Listenfelder individuell sortieren (Shortlink 285) vorgestellten Techniken &uuml;bereinstimmen.<\/p>\n<p>Im ersten Teil dieser Beitragsreihe haben Sie ein Frontend kennen gelernt, mit dem sich T&auml;tigkeiten m&uuml;helos erfassen lassen. Au&szlig;erdem befindet sich in der Musterl&ouml;sung eine Menge Know-how zur Erstellung von Access-Anwendungen, die ohne das Access-Fenster auskommen oder sich bei Bedarf in Form eines Symbols ins Systray verziehen und dort auf ihren Einsatz warten, anstatt den geringen Platz in der Taskleiste zu verwenden.<\/p>\n<p>Im n&auml;chsten Teil erfahren Sie, was Sie mit den aufgezeichneten Daten anfangen k&ouml;nnen. Dabei lernen Sie einige M&ouml;glichkeiten zur Auswertung der Daten kennen.<\/p>\n<p>Dort nehmen Sie auch die Trennung von Frontend und Backend der Datenbank vor.<\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Projektzeitverwaltung00.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/EBED93E1-EE40-4A9B-9C72-C9378C473696\/aiu_304.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Haben Sie sich nicht auch schon immer einmal gew&uuml;nscht, auf ganz einfache Art zu dokumentieren, womit Sie am Arbeitsplatz so Ihre Zeit verbringen? Wie haben Sie das angestellt &#8211; mit hand-schriftlichen Eintr&auml;gen in einen Kalender oder ein in B&uuml;chlein, mit einer Excel-Tabelle oder vielleicht auch direkt in Outlook? Keine Sorge: Auch der Autor dieser Zeilen hat schon einige Varianten durchexerziert, ohne die gesammelten Daten anschlie&szlig;end auch nur einmal auszuwerten. Warum das so ist und wie Sie es sich einfacher machen, erfahren Sie in diesem Beitrag.<\/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":[662005,66052005,44000027],"tags":[],"class_list":["post-55000304","post","type-post","status-publish","format-standard","hentry","category-662005","category-66052005","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>Projektzeitmanager - 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\/projektzeitmanager\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Projektzeitmanager\" \/>\n<meta property=\"og:description\" content=\"Haben Sie sich nicht auch schon immer einmal gew&uuml;nscht, auf ganz einfache Art zu dokumentieren, womit Sie am Arbeitsplatz so Ihre Zeit verbringen? Wie haben Sie das angestellt - mit hand-schriftlichen Eintr&auml;gen in einen Kalender oder ein in B&uuml;chlein, mit einer Excel-Tabelle oder vielleicht auch direkt in Outlook? Keine Sorge: Auch der Autor dieser Zeilen hat schon einige Varianten durchexerziert, ohne die gesammelten Daten anschlie&szlig;end auch nur einmal auszuwerten. Warum das so ist und wie Sie es sich einfacher machen, erfahren Sie in diesem Beitrag.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-17T20:35:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-19T08:24:03+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/857efdfe17c14918b84b7a46fdcd5614\" \/>\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=\"21\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Projektzeitmanager\",\"datePublished\":\"2023-03-17T20:35:03+00:00\",\"dateModified\":\"2024-02-19T08:24:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/\"},\"wordCount\":3562,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/857efdfe17c14918b84b7a46fdcd5614\",\"articleSection\":[\"2005\",\"5\\\/2005\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/\",\"name\":\"Projektzeitmanager - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/857efdfe17c14918b84b7a46fdcd5614\",\"datePublished\":\"2023-03-17T20:35:03+00:00\",\"dateModified\":\"2024-02-19T08:24:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/857efdfe17c14918b84b7a46fdcd5614\",\"contentUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/857efdfe17c14918b84b7a46fdcd5614\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/projektzeitmanager\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Projektzeitmanager\"}]},{\"@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":"Projektzeitmanager - 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\/projektzeitmanager\/","og_locale":"de_DE","og_type":"article","og_title":"Projektzeitmanager","og_description":"Haben Sie sich nicht auch schon immer einmal gew&uuml;nscht, auf ganz einfache Art zu dokumentieren, womit Sie am Arbeitsplatz so Ihre Zeit verbringen? Wie haben Sie das angestellt - mit hand-schriftlichen Eintr&auml;gen in einen Kalender oder ein in B&uuml;chlein, mit einer Excel-Tabelle oder vielleicht auch direkt in Outlook? Keine Sorge: Auch der Autor dieser Zeilen hat schon einige Varianten durchexerziert, ohne die gesammelten Daten anschlie&szlig;end auch nur einmal auszuwerten. Warum das so ist und wie Sie es sich einfacher machen, erfahren Sie in diesem Beitrag.","og_url":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/","og_site_name":"Access im Unternehmen","article_published_time":"2023-03-17T20:35:03+00:00","article_modified_time":"2024-02-19T08:24:03+00:00","og_image":[{"url":"http:\/\/vg07.met.vgwort.de\/na\/857efdfe17c14918b84b7a46fdcd5614","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"21\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Projektzeitmanager","datePublished":"2023-03-17T20:35:03+00:00","dateModified":"2024-02-19T08:24:03+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/"},"wordCount":3562,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/857efdfe17c14918b84b7a46fdcd5614","articleSection":["2005","5\/2005","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/projektzeitmanager\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/","url":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/","name":"Projektzeitmanager - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/857efdfe17c14918b84b7a46fdcd5614","datePublished":"2023-03-17T20:35:03+00:00","dateModified":"2024-02-19T08:24:03+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/projektzeitmanager\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/#primaryimage","url":"http:\/\/vg07.met.vgwort.de\/na\/857efdfe17c14918b84b7a46fdcd5614","contentUrl":"http:\/\/vg07.met.vgwort.de\/na\/857efdfe17c14918b84b7a46fdcd5614"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/projektzeitmanager\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Projektzeitmanager"}]},{"@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\/55000304","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=55000304"}],"version-history":[{"count":1,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000304\/revisions"}],"predecessor-version":[{"id":88075303,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000304\/revisions\/88075303"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}