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 4/2004.

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

Aufgabenplanung für das BackOffice

Christoph Spielmann, Düsseldorf

Der klassische Aufgabenbereich des Sekretariats hat sich vom Tippen von Dokumenten und der Terminverwaltung auf eine Vielzahl anderer Tätigkeiten verlagert. Ursache hierfür ist insbesondere der Einsatz von PCs. Da viele Arbeiten zügig am PC erledigt werden können, werden im Sekretariat Kapazitäten frei. Dadurch teilen sich oftmals mehrere Mitarbeiter eine Team-Assistentin oder einen Team-Assistenten als "BackOffice". Die hier vorgestellte Datenbank ermöglicht Ihnen die effiziente Planung der Back-Office-Aufgaben.

Aufbau der Datenstruktur

Die vorgestellte Musterlösung basiert auf insgesamt drei Tabellen, von denen die Tabelle tblMitarbeiter aus dem Beitrag Kooperation von Datenbanken aus Ausgabe 3/2004 stammt. Für den hier vorgestellten Zweck sind die beiden Felder Nachname und Vorname wichtig. Zusätzlich ist die Tabelle um die beiden Felder IstBackOffice und Login erweitert worden.

Das Feld IstBackOffice gibt an, ob ein Mitarbeiter zum BackOffice-Team gehört, also diesem Mitarbeiter Aufgaben zugewiesen werden können.

Das Feld Login enthält den Anmeldenamen des aktuellen Benutzers. Da es sich bei den Daten dieser Datenbank nicht um vertrauliche Angaben handelt, wird auf ein Passwort verzichtet.

In der Tabelle tblAufgaben werden die für das BackOffice geplanten Aufgaben gespeichert. Die Tabelle hat den in Tab. 1 beschriebenen Aufbau.

Zusätzlich enthält die Datenbank noch die bereits erwähnte Tabelle tblPrioritäten (Aufbau s. Tab. 2).

Standardmäßig ist die Tabelle mit drei Datensätzen passend zu den Prioritäten "Hoch", "Mittel" und "Gering" gefüllt, wie Sie Abb. 2 entnehmen können.

Feldname

Beschreibung

AufgabeID

Primärschlüssel (AutoWert)

PrioritätID

Fremdschlüssel mit einer Beziehung zur Tabelle tblPrioritäten

VonMitarbeiterID

Von wem wurde die Aufgabe geplant?

FürMitarbeiterID

Für wen ist die Aufgabe bestimmt?

AnlageAm

Anlagedatum

FälligAm

Datum, an dem die Aufgabe spätestens erledigt sein soll

ErledigtAm

Tag, an dem die Aufgabe tatsächlich erledigt wurde

GeplanteAusführungAm

Geplantes Datum der Ausführung der Aufgabe

GeplanterAufwandInMinuten

Zu erwartender Aufwand zur Erledigung der Aufgabe (Zahlenfeld)

Aufgabentitel

Bezeichnung der Aufgabe (Textfeld)

Zusatzinformationen

Weitere Informationen zur näheren Beschreibung der Aufgabe (Memo-Feld)

Tab. 1: Felder der Tabelle tblAufgaben

Feldname

Beschreibung

PrioritätID

Primärschlüssel

Priorität

Priorität (Textfeld)

SortierPosition

Bestimmt die spätere Reihenfolge der Anzeige in einem Kombinationsfeld

Tab. 2: Aufbau der Tabelle tblPrioritäten

Abb. 1: Die Tabelle tblPrioritäten

Die vollständige Datenstruktur entnehmen Sie Abb. 1. Beachten Sie, dass die Tabelle tblMitarbeiter aufgrund der zweifachen Beziehung zur Tabelle tblAufgaben doppelt in dem Diagramm aufgeführt, aber nur einmal in der Datenbank vorhanden ist.

Abb. 2: Die vollständige Datenstruktur

Das Anmeldeverfahren

Um den Einsatz der Datenbank möglichst komfortabel zu gestalten, greift das Anmeldeverfahren auf den Benutzernamen zu, den Sie bei der Anmeldung unter Windows verwendet haben. Das Auslesen dieses Namens erledigt die Prozedur GetLogin (s. Quellcode 1).

Die Prozedur greift mittels Environ-Funktion auf die Systemvariable USERNAME zu. Hier ist der Name des momentan angemeldeten Benutzers hinterlegt.

Sollte hier kein Name zu finden sein (zum Beispiel, weil das Anmeldeverfahren nicht aktiviert ist), zeigt die Funktion ein Eingabedialogfenster an. Die Eingabe wird anschließend in der globalen Variablen m_Login zwischengespeichert, sodass beim erneuten Aufruf der Funktion keine wiederholte Eingabe des Anmeldenamens erforderlich ist.

Nach der Ermittlung des Anmeldenamens wird mit Hilfe der Funktion GetMitarbeiterIDForLogin geprüft, ob der Login-Name auch in der Tabelle tblMitarbeiter existiert. Sollte dies nicht der Fall sein, erfolgt ein Sprung zur erneuten Eingabe des Anmeldenamens.

Die Ermittlung der MitarbeiterID wird von der bereits erwähnten Funktion GetMitarbeiterIDForLogin erledigt (s. Quellcode 2).

Sie bewerkstelligt dies durch Einsatz der DLookup-Funktion. Sollte kein passender Mitarbeiter gefunden werden, wandelt die Nz-Funktion das Ergebnis in den Wert 0 um und liefert diesen als Funktionsergebnis zurück. Als Parameter erwartet die Funktion den Login-Namen des gewünschten Benutzers.

Public Function GetLogin() As String

    Dim Login As String

    Login = Environ("USERNAME")

    If Len(Login) = 0 Then

        If Len(m_Login) = 0 Then

EnterLogin:

            m_Login = InputBox("Bitte geben Sie Ihr Login ein!")

            Login = m_Login

        Else

            Login = m_Login

        End If

    Else

        Login = Login

    End If

    If GetMitarbeiterIDForLogin(Login) = 0 Then

        GoTo EnterLogin:

    Else

        GetLogin = Login

    End If

End Function

Quellcode 1

Public Function GetMitarbeiterIDForLogin(Login As String) As Long

    GetMitarbeiterIDForLogin = Nz(DLookup("MitarbeiterID", "tblMitarbeiter", _
        "Login='" + Login + "'"), 0)

End Function

Quellcode 2

Public Function GetCurrentMitarbeiterID() As Long

    GetCurrentMitarbeiterID = GetMitarbeiterIDForLogin(GetLogin)

End Function

Public Function IsCurrentMitarbeiterBackOffice() As Boolean

    Dim MitarbeiterID As Long

    MitarbeiterID = GetCurrentMitarbeiterID

    IsCurrentMitarbeiterBackOffice = DLookup("IstBackOffice", "tblMitarbeiter", _
        "MitarbeiterID=" + CStr(MitarbeiterID))

End Function

Quellcode 3

Zwei weitere Hilfsfunktionen ermitteln die Nummer des aktuellen Benutzers und die Information, ob der momentan angemeldete Benutzer ein BackOffice-Mitarbeiter ist (s. Quellcode 3).

Sie finden die Funktionen im Modul modMitarbeiter der Beispieldatenbank zu diesem Artikel.

Erfassen einer neuen Aufgabe

Das Erfassen einer neuen Aufgabe wird über das Formular frmNeueAufgabe erledigt (s. Abb. 3).

Abb. 3: Das Formular zur Erfassung einer neuen Aufgabe

Private Sub btnAbbrechen_Click()

    Me.Undo

    DoCmd.Close acForm, Me.Name

End Sub

Private Sub btnOK_Click()

    If CheckValues Then

        DoCmd.Close acForm, Me.Name

    End If

End Sub

Quellcode 4

Das Formular enthält alle zum Erfassen neuer Aufgaben relevanten Felder. Das Kombinationsfeld FürMitarbeiterID zeigt eine Liste mit allen Mitarbeitern an, bei denen das Feld IstBackOffice den Wert True enthält. Die Datensatzherkunft-Eigenschaft des Kombinationsfeldes enthält zu diesem Zweck die folgende SQL-Anweisung:

SELECT Trim([Vorname]+' '+[Nachname])

AS Name, MitarbeiterID FROM

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.