Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 1/2003.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Aufgabenverwaltung mit Access

André Minhorst, Duisburg

Die Organisation der eigenen Aufgaben ist nicht immer leicht - vor allem, wenn man sich nicht nur mit einer, sondern mit mehreren Aufgaben gleichzeitig beschäftigt. Noch schwieriger wird es, wenn die Aufgaben ganzer Projektteams koordiniert werden wollen - nur Genies beherrschen das unter Umständen entstehende Chaos. Daher sollten Sie sich schnellstens an die Entwicklung einer Aufgabenverwaltung begeben, um über Ihre und die Aufgaben Ihrer Mitarbeiter nicht den Überblick zu verlieren - vor allem aber, um die richtigen Prioritäten zu setzen. Damit Sie dabei alles im Griff haben, finden Sie im vorliegenden Beitrag die passende Musterlösung.

Aufgaben einer
Aufgabenverwaltung

Für die Verwaltung von Aufgaben gibt es unterschiedliche Ansätze. Vielen Menschen ist der gute alte Notizzettel noch immer die beste Hilfe, um im Tagesgeschäft nicht den Überblick zu verlieren. Andere schwören auf Anwendungen wie Microsoft Outlook und dessen Aufgabenverwaltung.

Während Notizzettel für den "Solisten" in Ordnung sein mögen, sind sie der Teamarbeit sicher nicht zuträglich. Die Verwendung der Aufgabenverwaltung von Outlook ist da schon eher geeignet (s. Abb. 1). Sie bietet die wesentlichen Merkmale wie das Setzen von Priorität, Status, Fälligkeit und einige andere Eigenschaften sowie die Zuordnung von Aufgaben zu unterschiedlichen Mitarbeitern.

Abb. 1: Aufgabenverwaltung mit Outlook

Allerdings gibt es keine vernünftige Möglichkeit, den Fortschritt der Aufgaben zu dokumentieren, und auch die Verbindung mit Daten anderer Systeme wie z. B. einer Projektverwaltung ist nicht vorgesehen.

Daher spricht alles für die Erstellung einer eigenen Aufgabenverwaltung, die Sie an die individuellen Anforderungen Ihres Unternehmens anpassen können: z. B. die Zuordnung von Aufgaben zu bestimmten Projekten, statistische Auswertungen der aktuellen Aufgaben usw.

Die folgenden Abschnitte erläutern die Aufgaben, die die Aufgabenverwaltung erfüllen soll.

Verwaltung von
Benutzern

Die Aufgabenverwaltung ist für den Mehrbenutzerbetrieb konzipiert. Jeder Benutzer, der neue Aufgaben anlegen, Aktionen eingeben oder einfach nur Informationen abfragen möchte, muss sich zu Beginn mit Benutzernamen und Kennwort beim System anmelden.

Hinweis

Die Anmeldung bei der Datenbank dient in der vorliegenden Version der Musterlösung lediglich dem Komfort und sorgt dafür, dass der Name des aktuellen Benutzers in Eingabeformularen automatisch voreingestellt ist. Eine konsequente Weiterentwicklung wäre zum Beispiel, Benutzern per Anwendung des Sicherheitssytems von Access aus Datenschutzgründen den direkten Zugriff auf Tabellen sperren. (

Die Musterlösung enthält eine kleine Abstufung der Benutzerrechte, welche die Benutzer in Administratoren und normale Benutzer unterteilt. Administratoren sollen sich die Daten aller Benutzer ansehen dürfen, während normale Benutzer nur Daten einsehen können, die ihre eigenen Aufgaben betreffen.

Verwaltung von Projekten

Viele Aufgabenverwaltungen berücksichtigen nicht die Aufteilung der Aufgaben auf unterschiedliche Projekte. Die Musterlösung soll aber vor allem die Übersicht über die zu einem bestimmten Projekt gehörenden Aufgaben erlauben.

Daher verfügt die Datenbank über eine Tabelle mit rudimentären Projektdaten, die Sie allerdings gerne durch eine Verknüpfung mit der Projekte-Tabelle einer bestehenden Projektverwaltung ersetzen können.

Verwaltung von Aufgaben

Die Hauptaufgabe der Datenbank ist natürlich die Verwaltung von Aufgaben. Zu den Aufgaben sollen nicht nur einmalig Daten eingegeben werden können.

Viele Aufgaben erfordern mehrere Schritte, erhalten während ihrer Erledigung einen anderen Ausführenden oder ihre Priorität ändert sich. Außerdem soll es möglich sein, den Status einer Aufgabe während der Bearbeitung zu ändern - z. B. von Offen auf Fertig usw. Um die einzelnen Schritte nachvollziehen zu können, soll die Datenbank jede Änderung einzeln festhalten.

Durchführung von Aufgaben
dokumentieren

Eine der wichtigsten Anforderungen an die Aufgabenverwaltung ist die Dokumentation der Durchführung von Aufgaben. Die jeweiligen Schritte sollen als einzelne Aktionen beschrieben und gespeichert werden.

Dabei braucht es sich nicht nur um Aktionen zu handeln, die direkt mit der Erledigung der Aufgabe zu tun haben. Aufgaben können nur sinnvoll verwaltet und priorisiert werden, wenn dies umfassend und dynamisch erfolgt.

Das bedeutet, dass Eigenschaften von Aufgaben angepasst werden müssen - z. B. durch Ändern der Priorität oder Auswechseln des verantwortlichen Mitarbeiters.

Selbstverständlich sind auch Statusänderungen zu dokumentieren. Für jede Tätigkeit und jede Anpassung der Aufgabe soll optimalerweise eine Aktion definiert und gespeichert werden.

Anzeige von Aufgaben

Die Musterlösung soll Aufgaben nach unterschiedlichen Kriterien anzeigen - z. B. nach Projekten, Mitarbeitern, Priorität, Status usw. sortiert oder gefiltert.

Auf diese Weise kann ein Mitarbeiter schnell Überblick über seine aktuellen Aufgaben und die Projekte gewinnen, und der Projektleiter kann sich ein Bild machen, ob alle Aufgaben wunschgemäß abgearbeitet werden.

Datenmodell der
Aufgabenverwaltung

Das Datenmodell der Aufgabenverwaltung umfasst sechs Tabellen. Abb. 2 vermittelt einen Überblick über die Tabellen und deren Beziehungen zueinander.

Das Beziehungsfenster aus Abb. 2 enthält aus Gründen der Übersichtlichkeit nicht alle Tabellen. Die Tabelle tblProjekte ist dort nicht zu finden - sie ist aber auch lediglich mit der Tabelle tblAufgaben verknüpft. Dabei verweist das Fremdschlüsselfeld ProjektID auf den Primärschlüssel der Tabelle tblProjekte.

Die Tabelle tblAufgaben

Abb. 2: Das Datenmodell der Aufgabenverwaltung

Die Tabelle tblAufgaben speichert die Informationen, die beim Anlegen einer Aufgabe eingegeben werden:

  • AufgabeID
  • ProjektID: Fremdschlüsselfeld, verweist auf das Primärschlüsselfeld ProjektID der Tabelle tblProjekte
  • Aufgabe: Titel der Aufgabe
  • Aufgabenbeschreibung: Detaillierte Beschreibung der Aufgabe, daher als Memofeld ausgeführt
  • Prioritaet: Fremdschlüsselfeld, verweist auf das Feld PrioritaetID der Tabelle tblPrioritaeten
  • Status: Fremdschlüsselfeld mit Verweis auf die Tabelle tblStatus
  • AngelegtDurch: Fremdschlüsselfeld mit Verweis auf die Tabelle tblBenutzer
  • AngelegtAm: Datum der Anlage der Aufgabe
  • ZugeordnetZu: Fremdschlüsselfeld mit Verweis auf die Tabelle tblBenutzer zur Angabe, wer für die Ausführung der Aufgabe verantwortlich ist
  • Enddatum: Datum, bis zu dem die Aufgabe ausgeführt sein soll
  • ErwarteteDauer: Angabe der erwarteten Dauer in Stunden, nur für statistische Zwecke vorgesehen
  • Die Tabelle speichert noch einige weitere Werte, die den aktuellen Zustand der Aufgabe wiedergeben - z. B. Status, Priorität, ausführender Benutzer usw. Der Grund dafür ist, dass in späteren Zusammenfassungen der Informationen zu einer Aufgabe nicht nur der Status oder die Priorität beim Anlegen der Aufgabe ausgegeben werden soll, sondern auch der aktuell vorhandene Zustand.

    Bei den Aktionen kann es sich nämlich nicht nur um Tätigkeiten handeln, die direkt mit der Ausführung der Aufgabe in Verbindung stehen, sondern auch um Änderung von Eigenschaften der Aufgabe - also der Priorität, des Status oder des beauftragten Mitarbeiters. Die Felder zur Speicherung der entsprechenden Informationen heißen AktuellerStatus, AktuellePrioritaet und AktuellZugeordnetZu.

    Die Tabelle tblAktionen

    Da bei jeder Aufgabe Priorität und Status wechseln und jede Aufgabe mehrere Schritte bis zur Erledigung durchlaufen kann, werden die entsprechenden Informationen der einzelnen Schritte nicht in der Tabelle tblAufgaben, sondern in einer separaten Tabelle gespeichert.

    Ein Eintrag erfolgt immer, wenn die Aufgabe bearbeitet wurde oder wenn eine Eigenschaft geändert wurde - also beispielsweise die Priorität einer Aufgabe erhöht oder herabgesetzt wurde.

    Die Tabelle tblAktionen enthält die folgenden Felder:

  • AktionID: Primärindex der Tabelle
  • Aktion: Beschreibung der durchgeführten Aktion oder des Grundes für eine Änderung einer der Eigenschaften
  • AufgabeID: Fremdschlüsselfeld mit Verweis auf die Tabelle tblAufgaben
  • PrioritaetID: Fremdschlüsselfeld mit Verweis auf die Tabelle tblPrioritaeten zum Einstellen der aktuellen Priorität
  • StatusID: Fremdschlüsselfeld mit Verweis auf die Tabelle tblStatus zum Einstellen des aktuellen Status
  • AngelegtAm, AngelegtVon, ZugeordnetZu, Enddatum: wie in Tabelle tblAufgaben
  • VerbrauchteZeit: Zeit in Stunden, die für die aktuelle Aktion verbraucht wurde
  • Die Tabelle tblBenutzer

    Diese Tabelle enthält alle für die vorliegende Datenbankanwendung benötigten Benutzerinformationen.

    Falls Sie eine bereits vorhandene Mitarbeitertabelle aus einer anderen Datenbank verwenden möchten, haben Sie zwei Möglichkeiten: Entweder Sie fügen der bereits bestehenden Mitarbeitertabelle alle Felder hinzu, die Sie im Rahmen der vorliegenden Musterlösung verwenden möchten (soweit diese noch nicht vorhanden sind) oder Sie fügen der Tabelle tblBenutzer ein Fremdschlüsselfeld mit einem Verweis auf die bereits bestehende Mitarbeitertabelle hinzu.

    Die Tabelle tblBenutzer besteht aus den folgenden Feldern:

  • BenutzerID: Primärschlüsselfeld der Tabelle
  • Nachname
  • Vorname
  • Benutzername: Name zur Anmeldung an die Aufgabenverwaltung
  • Kennwort: Kennwort zur Anmeldung an die Aufgabenverwaltung
  • EMail
  • IstAdministrator: gibt an, ob der Benutzer die Daten aller Aufgaben am Bildschirm einsehen kann oder nur die der ihm zugeordneten Aufgaben.
  • Weitere Tabellen

    Die weiteren Tabellen tblPrioritaeten, tblStatus und tblProjekte bestehen im Wesentlichen aus einem Primärschlüsselfeld und der Bezeichnung des jeweiligen Elements.

    Lediglich die Tabelle tblProjekte hat noch ein Fremdschlüsselfeld namens Projektleiter, mit dem ein Benutzer aus der Tabelle tblBenutzer ausgewählt werden kann.

    Beziehungen

    Die Beziehungen wurden im Wesentlichen bereits im Rahmen der Beschreibung der Tabellen abgehandelt. Es gibt jedoch eine Besonderheit:

    Es kommt oft vor, dass von mehreren Tabellen auf die Datensätze einer Tabelle verwiesen wird - aber der Fall, dass eine Tabelle gleich mehrfach auf das Primärschlüsselfeld einer weiteren Tabelle verweist, ist in der Regel nicht so häufig.

    Abb. 3: Sicherheitsabfrage vor dem Erstellen einer zweiten Beziehung zwischen zwei Tabellen

    Abb. 4: Anmeldung an die Aufgabenverwaltung

    Dies ist sowohl in der Tabelle tblAufgaben als auch tblAktionen der Fall. Access bzw. das Beziehungsfenster reagiert auch etwas unerwartet, wenn Sie direkt zwei oder mehr Beziehungen zwischen zwei Tabellen erstellen möchten: Zunächst erscheint eine Abfrage, ob Sie eine neue Beziehung erstellen oder die vorhandene Beziehung bearbeiten möchten (s. Abb. 3).

    Wenn Sie richtigerweise mit Nein antworten, erstellt Access die Beziehung ordnungsgemäß, legt aber eine merkwürdige Darstellungsweise an den Tag: Statt einfach zwei Beziehungspfeile zwischen den betroffenen Feldern der beiden Tabellen anzuzeigen, zeigt es die Tabelle, deren Primärschlüsselfeld an der Beziehung beteiligt ist, zweimal an (s. Abb. 2).

    Die Formulare der
    Aufgabenverwaltung

    Die Anwendung der Aufgabenverwaltung erfordert zunächst einmal die Anmeldung des Benutzers bei der Datenbank, damit er seine eigenen Aufgaben ansehen kann und der Komfort bei der Eingabe von Informationen in die Tabellen der Datenbank erhöht wird.

    Anschließend erscheint eine Übersicht über alle Aufgaben, die der jeweilige Mitarbeiter einsehen können soll.

    Die Übersicht ist gleichzeitig die Schaltzentrale der Aufgabenverwaltung. Von hier kann der Anwender alle gewünschten Operationen ausführen:

  • Ansehen von Aufgaben und Aktionen
  • Anlegen von neuen Aufgaben
  • Hinzufügen von Aktionen zu bestehenden Aufgaben und damit Ändern von Priorität, Status und Zuteilung
  • Sortieren der Aufgabenliste nach verschiedenen Kriterien
  • Ausgabe von Listen in Berichtform
  • Ausgabe von Berichten zu einzelnen Aufgaben
  • Die Musterlösung stellt keine Möglichkeit zur Eingabe und Bearbeitung von Benutzern und Projekten zur Verfügung, da diese Daten in der Regel in anderen Anwendungen bereits vorhanden sind.

    Das Anmeldeformular

    Die Arbeit mit der Aufgabenverwaltung beginnt mit der Anmeldung bei der Anwendung. Die Anmeldung übernimmt das Formular frmAnmeldung (s. Abb. 4). Das Anmeldeformular soll nicht nur beim Starten der Anwendung angezeigt werden, sondern auch beim Aufruf eines der Formulare der Datenbank aus dem Datenbankfenster heraus.

    Abb. 5: Entwurfsansicht des Formulars frmAnmeldung

    Steuerelemente des Anmeldeformulars

    Private Sub cmdOk_Click()

        Dim db As Database

        Dim rstBenutzer As Recordset

        Set db = CurrentDb

        Set rstBenutzer = db.OpenRecordset("SELECT * FROM tblBenutzer " _
            & "WHERE Benutzername = '" & Me.txtBenutzername & "'", dbOpenDynaset)

        If rstBenutzer.EOF Then

            Me.txtMeldung = "Leider ist kein Benutzer mit dem angegebenen " _

                & "Namen vorhanden."

            Me.txtBenutzername.SetFocus

        Else

            If rstBenutzer!Kennwort = Me.txtKennwort Then

                Me.txtMeldung = ""

                DoCmd.Close acForm, Me.Name

                DoCmd.OpenForm "frmUebersicht"

                BenutzerID = rstBenutzer!BenutzerID

            Else

                Me.txtMeldung = "Leider haben Sie ein falsches Kennwort eingegeben."

                Me.txtKennwort.SetFocus

            End If

        End If

    End Sub

    Quellcode 1

    Das Formular besitzt zwei Textfelder zur Eingabe von Benutzername und Kennwort (s. Abb. 5). Beide Textfelder sind ungebunden. Die Eigenschaft Eingabeformat des Textfeldes txtKennwort hat den Wert Kennwort. Dadurch werden die eingegebenen Buchstaben durch Sternchen (*) ersetzt.

    Ein weiteres Textfeld namens txtMeldung dient der Ausgabe von Meldungen, z. B. wenn der Anwender eine falsche Kombination aus Benutzernamen und Kennwort eingegeben hat.

    Das Formular hat drei Schaltflächen namens cmdOk, cmdBeenden und cmdKennwortVergessen.

    Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

    Sind Sie Abonnent?Jetzt einloggen ...
     

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.