Zusammenfassung
Erstellen Sie eine Lösung, mit der sich die Tätigkeiten für verschiedene Projekte mit einem oder mehreren Mitarbeitern verwalten lassen.
Techniken
Formulare, Systray
Voraussetzungen
Access 2000 oder höher
Beispieldateien
André Minhorst, Duisburg
Haben Sie sich nicht auch schon immer einmal gewünscht, auf ganz einfache Art zu dokumentieren, womit Sie am Arbeitsplatz so Ihre Zeit verbringen Wie haben Sie das angestellt – mit handschriftlichen Einträgen in einen Kalender oder ein in Bü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ßend auch nur einmal auszuwerten. Warum das so ist und wie Sie es sich einfacher machen, erfahren Sie in diesem Beitrag.
Egal, ob Sie nun selbstständig oder angestellt sind – entweder es interessiert Sie selbst oder Ihren Chef, ob die Zeit, die Sie mit den verschiedenen Tätigkeiten verbringen, auch gut genutzt ist.
Die wichtigste Voraussetzung dazu ist, dass Sie jede Tätigkeit, die mit den betroffenen Projekten zusammenhängt, auch notieren – am besten minutengenau. Das ist allerdings gar nicht so einfach und erfordert genau wie das konzentrierte Arbeiten an den Projekten ein gewisses Maß an Disziplin. Sie kennen das vielleicht: Ein Projekt drängt, man nimmt sich vor, die Tätigkeiten am Abend zu notieren, es wird spät, am nächsten Morgen ist auch keine Zeit und ehe man sich versieht, liegt die letzte Eintragung so weit zurück, dass man die Zeiten nicht mehr exakt zusammenbekommt.
Dabei ist es ü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ür einen Eintrag zu groß ist, als dass man ihn gerne zwischen zwei Tätigkeiten auf sich nimmt.
Sie ahnen es bereits: Dieser Beitrag soll eine Möglichkeit vorstellen, die für verschiedene Tätigkeiten benötigte Zeit auf möglichst einfache Weise zu notieren. Dass die so gesammelten Informationen später auch noch ausgewertet werden, versteht sich von selbst.
Wenn Sie bereits den Beitrag Software-Architektur aus dieser Ausgabe gelesen haben, wissen Sie schon, wie die Anwendung im Einzelnen aussehen soll – ansonsten hier die Kurzform:
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ür die Verwaltung der für die Eingabe benötigten Informationen wie Mitarbeiter und Projekte erforderlich sind.
Achtung, Betriebsrat!
Wenn Sie planen, ein Tool wie das hier vorgestellte in einem größeren Unternehmen einzusetzen, sollten Sie dies vorher mit dem Betriebsrat abklären. Die Erfassung von Tätigkeitszeiten wird von diesem meist nicht gern gesehen.
Bevor Sie in den nächsten Kapiteln erfahren, wie Sie Ihr eigenes Tool zur Erfassung von Tätigkeiten und der entsprechenden Zeiten erstellen, schauen Sie sich erst einmal an, was dabei herauskommen soll.
In Lauerstellung
Abb. 1 zeigt, wo Sie den Projektzeitmanager finden, wenn Sie mit anderen Dingen beschäftigt sind: Er wartet geduldig im Systray von Windows auf seinen Einsatz.
Abb. 1: Der Projektzeitmanager zieht sich in das Systray zurück …
Per Doppelklick oder wie in Abb. 2 zu erkennen per Kontextmenü lässt sich der Projektzeitmanager aktivieren. Letztere Variante eröffnet zusätzlich die Möglichkeit, die Anwendung zu beenden oder die komplette Access-Anwendung anzuzeigen.
Abb. 2: … und lässt sich bei Bedarf von dort aktivieren.
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.
Projektzeiten im überblick
Hier finden sich auch direkt die wesentlichen Bedienungsmerkmale des Frontends für die Eingabe von Tätigkeiten – 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.
Das Formular bietet fünf mögliche Aktionen:
Tätigkeitsinformationen im Nu
Beim Verlassen der aktuellen Tätigkeit zu einer anderen oder ohne Aufnahme einer neuen Tätigkeit erscheint der Dialog aus Abb. 4. Dort sind lediglich zwei Felder auszufüllen: Die Tätigkeitsbeschreibung und die Tä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üllt und werden nur zur Kontrolle angezeigt.
Abb. 3: Formular ohne Accessfenster: Der Projektzeitmanager.
Abb. 4: Anlegen der Beschreibung einer Tätigkeit
Nach dem Betätigen der OK-Schaltfläche wechselt das Formular aus Abb. 3 den als aktuelles Projekt markierten Eintrag.
Projekte verwalten
Mit der Schaltfläche Projekte verwalten öffnen Sie den Dialog aus Abb. 5. Dieser Dialog zeigt alle Projekte an, die dem aktuellen Mitarbeiter zugeordnet sind.
Der Mitarbeiter kann hier selbst festlegen, welche Projekte im Projektzeitmanager angezeigt werden sollen. Außerdem lässt sich hier die Reihenfolge der Einträge einstellen.
Selbst die wichtigsten Mitarbeiter mit vielen Projekten können hier aussortieren und Prioritäten festlegen.
Die Reihenfolge stellen Sie mit den vier Schaltflächen rechts vom Listenfeld ein. Der Beitrag Listenfelder individuell sortieren (Shortlink 285) liefert die Grundlagen für die hier verwendete Technik.
Aktivieren und deaktivieren lassen sich Einträge per Doppelklick. Das x in der Spalte Aktiv verschwindet für nicht aktivierte Einträge. Nicht aktivierte Einträge erscheinen nicht im Projektzeitmanager.
Abb. 5: Dialog zum Verwalten der Projekte des aktuellen Mitarbeiters
Eingabe von Daten
Natürlich müssen Sie vor der Inbetriebnahme des Tools einige Daten eingeben – zumindest die Projekte und Mitarbeiter. Dazu dienen zwei Formulare.
Die Eingabe der Projekte erfolgt mit dem Formular aus Abb. 6. Für die Funktionstüchtigkeit des Projektzeitmanagers ist lediglich die Eingabe der Projektbezeichnung erforderlich.
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 übrigens ebenfalls ü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).
Abb. 6: Formular zum Verwalten der Projekte
Abb. 7: Eingeben von Mitarbeitern und ihren Projekten
Diese beiden Formulare werden genau wie die Möglichkeiten zur Auswertung der gewonnenen Daten im zweiten Teil dieser Beitragsreihe in der folgenden Ausgabe von Access im Unternehmen vorgestellt.
Mitarbeiter und Projekte bilden den Mittelpunkt der Projektzeitverwaltung. Diese werden jeweils in einer eigenen Tabelle gespeichert. Zwischen diesen beiden Tabellen gibt es verschiedene Verknüpfungen, die in Abb. 8 zu erkennen sind: Die erste wird über eine 1:n-Beziehung realisiert, die das Fremdschlüsselfeld ProjektleiterID der Tabelle tblProjekte mit der Tabelle tblMitarbeiter verknüpft.
Die zweite Beziehung wird als m:n-Beziehung über eine Verknüpfungstabelle hergestellt. Mit dieser Verknüpfung lassen sich jedem Mitarbeiter die Projekte zuweisen, die für diesen im Projektzeitmanager zur Verfügung stehen sollen.
Die Verknüpfungstabelle tblProjekteMitarbeiter enthält noch ein paar Felder mehr als nur die Verknüpfungsfelder zu den Tabellen tblProjekte und tblMitarbeiter.
Diese sind allesamt für die Anzeige der Projekte eines Mitarbeiters im Projektzeitmanager verantwortlich:
Die Tabelle tblMitarbeiter enthält den Vor- und den Nachnamen eines Mitarbeiters sowie den Windows-Anmeldenamen. über den Windows-Anmeldenamen wird ermittelt, welcher der in der Tabelle enthaltenen Mitarbeiter der aktuelle Mitarbeiter ist. Nur für diesen zeigt der Projektzeitmanager Informationen an.
Die Projekttabelle liefert übliche Projektinformationen wie Bezeichnung, Beschreibung, Kunde oder Start- und Enddatum. Die Kunden werden dabei über das Fremdschlüsselfeld KundeID mit den Einträgen der Tabelle tblKunden verknüpft.
Abb. 8: Datenmodell der Projektzeitverwaltung
Die Tabelle tblProjektzeiten dient genau wie die Tabelle tblProjekteMitarbeiter als Verknüpfungstabelle zur Herstellung einer m:n-Beziehung zwischen Projekten und Mitarbeitern.
Die Tabelle ist jedoch mehr als nur eine Verknüpfungstabelle: In ihr werden die Zeiten gespeichert, welche die Mitarbeiter mit den ihnen übertragenen Projekten verbringen.
Außerdem soll zu jedem zusammenhängenden Zeitraum eine Tätigkeitsbeschreibung und eine Tätigkeitsart eingegeben werden.
Die Tätigkeitsart lässt sich dabei über das Fremdschlüsselfeld Taetigkeitsart aus der Tabelle tblTaetigkeitsarten auswählen.
Für das Feld Aktiviert sollten Sie außerdem die Eigenschaft Standardwert auf den Wert Ja einstellen, damit die einem Mitarbeiter zugeteilten Projekte im später beschriebenen Formular auch direkt angezeigt werden.
In diesem ersten Teil der Beschreibung des Projektzeitmanagers spielt das Formular frmProjektzeiteingabe die Hauptrolle. Es listet die für einen Mitarbeiter festgelegten Projekte auf und bietet die Möglichkeit, ein Projekt als das aktuelle Projekt auszuwählen oder anzugeben, dass man gerade nicht mit einem Projekt beschäftigt ist (s. Abb. 3).
In der Entwurfsansicht sieht das Formular wie in Abb. 9 aus. Betrachten Sie zunächst die Textfelder zur Anzeige der Projekte beziehungsweise des Textes Keine aktuelle Tätigkeit (Steuerelementname: txtKeineTaetigkeit). Die Anzeige der Projekte erfolgt über ein gebundenes Textfeld namens Projektbezeichnung, das seine Daten aus dem Feld Projektbezeichnung der zugrunde liegenden Datenherkunft bezieht.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo