Skills mit Access verwalten

von Klaus Giesen, Wuppertal

Skills ist die “neudeutsche” Bezeichnung für Fähigkeiten oder Kompetenzen von Personen. Dieser Begriff ist vor allem bei freiberuflichen IT-Kräften oder Freelancern gang und gäbe, die für unterschiedliche Unternehmen arbeiten und dort aufgrund ihrer durch die Skills repräsentierten Fähigkeiten für spezielle Aufgaben herangezogen werden. Der Einsatzbereich der hier vorgestellten Datenbankanwendung ist die Verwaltung von Personen und deren Skills, um zur rechten Zeit einen geeigneten Mitarbeiter zu finden.

Die im vorliegenden Beitrag vorgestellte Musterlösung dient neben der Verwaltung von Personen und deren Kontaktdaten primär der Erfassung von Fähigkeiten und entsprechenden Bewertungen.

Erfassung von Bewertungen

Die Bewertung von Fähigkeiten kann im einfachsten Fall durch die Zuordnung von Schulnoten erfolgen.

Aussagekräftiger ist die Zuordnung von individuellen Bewertungskriterien je Fähigkeit. Die folgenden Beispiele verdeutlichen dies:

Fähigkeit

Mögliche Bewertungen

VB-Programmierung

Gut, mittel, schlecht

Englisch

Keine Kenntnisse, Anfänger, fortgeschritten, verhandlungssicher, Muttersprache

Führerschein

Klasse 1, Klasse 2, Klasse 3

Tab. 1: Beispiele zum Bewertungssystem

Nur ein solches Bewertungssystem ermöglicht es, jeder Fähigkeit individuelle und vor allem auch aussagekräftige Bewertungen zuzuordnen. Falls Sie jedoch Schulnoten vorziehen sollten, können Sie diese natürlich ebenfalls verwenden.

Erfassung von Eindrücken

Bei der Erfassung von Skills sollte die eigene Bewertung des Bewerbers – beispielsweise aufgrund seines Bewerbungsschreibens – und eine Bewertung des Bearbeiters – beispielsweise der Eindruck beim Bewerbungsgespräch – erfasst und gegenübergestellt werden können.

Suchen

Damit die Musterlösung den Anforderungen der Praxis gerecht werden kann, sollten differenzierte Suchmöglichkeiten vorhanden sein. Dazu zählen unter anderem die Auswahl verschiedener Vergleichsoperatoren und Verknüpfungen mit AND bzw. OR. Außerdem soll die Musterlösung auch noch die Möglichkeit zur schnellen Auswahl eines bestimmten Datensatzes bieten.

Ausdruckmöglichkeiten

Da das papierlose Büro immer noch eine Fiktion ist, sieht auch diese Musterlösung zwei Ausdruckmöglichkeiten vor.

Der erste Bericht druckt alle relevanten Angaben zu einer Person in Form eines Profils aus, damit diese Angaben übersichtlich auf Papier vorliegen.

Die zweite Ausdruckmöglichkeit betrifft das Ergebnis einer Suche. In solchen Fällen ist es oftmals sinnvoll, die Kontaktangaben zu einer Person wie Telefon- und Faxnummer sowie die E-Mail-Adresse auf Papier griffbereit zu haben.

Hinweis

Diese Musterlösung zu einer Skill-Verwaltung finden Sie auf der beiliegenden CD-ROM für Access 97 (Skills97.mdb) und Access 2000 (Skills2000.mdb).

Das Datenmodell dieser Musterlösung benötigt zunächst die drei Tabellen tblPersonen, tblFaehigkeiten und tblBewertungen zur Erfassung der betreffenden Daten. Die Tabellen stehen in folgenden Beziehungen zueinander:

  • Eine Person kann verschiedene Fähigkeiten haben.
  • Jede Fähigkeit kann verschiedenen Personen zugeordnet werden.
  • Gleiches trifft sinngemäß auch auf die Bewertungen der einzelnen Fähigkeiten zu.
  • Die Realisierung der m:n-Beziehungen zwischen Personen und Fähigkeiten sowie Bewertungen erfolgt über die Tabelle tblPersonenUndFaehigkeiten. Die folgenden Abschnitte beschreiben den genauen Aufbau der einzelnen Tabellen.

    Die Tabelle tblPersonen

    Die Tabelle tblPersonen (s. Abb. 1) dient dem Speichern der Stammdaten. Sie enthält – neben den üblichen personenbezogenen Feldern – weitere speziell für die vorliegende Aufgabenstellung notwendige Felder.

    Die Namen dieser Felder und eine dazugehörende Beschreibung entnehmen Sie Tab. 2.

    Feld

    Beschreibung

    StundensatzVon

    Untergrenze des Stundensatzes

    StundensatzBis

    Obergrenze des Stundensatzes

    Quelle

    Woher stammt der Kontakt Anzeige, Bewerbung, Internet usw.

    VerfügbarkeitInProzent

    Typische Angabe für Freiberufler: Die prozentuale Verfügbarkeit für einen bestimmten Auftraggeber

    Taetigkeitsraum

    Postleitzahlbereich, deutschland- oder europaweit.

    Tab. 2: Spezielle Felder der Tabelle tblPersonen

    Alle Felddatentypen sind in der vorliegenden Musterlösung auf Text eingestellt, um für die zu erfassenden Angaben eine größtmögliche Flexibilität zu erlauben.

    Abb. 1: Die Tabelle tblPersonen in der Entwurfsansicht

    Die Tabelle tblFaehigkeiten

    Die Tabelle tblFaehigkeiten (s. Abb. 2) enthält neben dem Primärschlüsselfeld lediglich ein weiteres Textfeld zum Speichern von Fähigkeiten.

    Die Tabelle tblBewertungen

    Die Tabelle tblBewertungen (s. Abb. 3) enthält neben dem Primärschlüsselfeld und einem Textfeld zum Speichern der Bemerkungen noch das Sekundärschlüsselfeld FaehigkeitID. Die Bedeutung dieses Sekundärschlüsselfelds ist im Abschnitt Beziehungen erklärt.

    Abb. 2: Die Tabelle tblFaehigkeiten in derEntwurfsansicht

    Abb. 3: Die Tabelle tblBewertungen in derEntwurfsansicht

    Abb. 4: Die Tabelle tblPersonenUndFaehigkeiten in der Entwurfsansicht

    Die Tabelle tblPersonenUndFaehigkeiten

    Die Tabelle tblPersonenUndFaehigkeiten (s. Abb. 4) dient als Zwischentabelle zur Realisierung der benötigten n:m-Beziehungen. In Tab. 3 finden Sie eine Aufstellung der Tabellenfelder und eine zugehörige Beschreibung.

    Feld

    Beschreibung

    PersonUndFaehigkeitID

    Primärschlüsselfeld

    PersonID

    Sekundärschlüsselfeld zur Tabelle tblPersonen

    FaehigkeitID

    Sekundärschlüsselfeld zur Tabelle tblFaehigkeiten

    BewertungID

    Sekundärschlüsselfeld zur Tabelle tblBewertungen

    EindruckID

    Verknüpfungsfeld zur Erstellung der erweiterten Bewertungen

    Bemerkung

    Memo-Feld für Bemerkungen

    Tab. 3: Felder und Beschreibung der Tabelle tblPersonenUndFaehigkeiten

    Beim Feld BewertungID ist der Wert für die Eigenschaft Eingabe erforderlich auf den Wert Ja eingestellt, damit sichergestellt ist, dass bei der Datenerfassung jeder Fähigkeit auch eine Bewertung zugeordnet wird.

    Zusammengesetzten Index erstellen

    Bei der späteren Erfassung von Fähigkeiten und Bewertungen soll die mehrfache Zuordnung einer Fähigkeit zu einer Person nicht möglich sein.

    Dies kann beispielsweise durch die Erstellung eines zusammengesetzten Index für die Sekundärschlüsselfelder PersonID und FaehigkeitID in der Tabelle tblPersonenUndFaehigkeiten realisiert werden.

    Ausgangspunkt für die Erstellung eines zusammengesetzten Index ist die in der Entwurfsansicht geöffnete Tabelle.

  • Klicken Sie in der Symbolleiste auf das Symbol Indizes und öffnen Sie damit das Dialogfenster Indizes (s. Abb. 5).
  • Geben Sie in die erste leere Zeile der Spalte Indexname einen Namen für den Index ein, beispielsweise MultiIndex.
  • Wählen Sie dann in der Spalte Feldname das Feld PersonID aus, das als Erstes indiziert werden soll.
  • Stellen Sie im Bereich Indexeigenschaften den Wert für die Eigenschaft Eindeutig auf Ja ein.
  • Markieren Sie in der nächsten Zeile der Spalte Feldname das zweite Feld FaehigkeitID für den Index. Lassen Sie dabei die Spalte Indexname leer.
  • Schließen Sie das Dialogfenster Indizes mit einem Klick auf die Schaltfläche Schließen in der Titelleiste. (
  • Abb. 5: Das Dialogfenster Indizes

    Beziehungen

    Die Beziehungen der Musterlösungen sind wie bei Access gewohnt im Dialogfenster Beziehungen dargestellt (s. Abb. 6). Alle Beziehungen sind vom Beziehungstyp 1:n mit aktivierter referentieller Integrität.

    Die Kontrollkästchen Aktualisierungsweitergabe an verwandte Felder und Löschweitergabe an verwandte Datensätze sind bei allen Beziehungen deaktiviert.

    Abb. 6: Das Dialogfenster Beziehungen

    Die Forderung, jeder Fähigkeit beliebige Bewertungen zuordnen zu können, erfordert neben den beiden 1:n-Beziehungen zur Abbildung der n:m-Beziehung eine weitere Verknüpfung zwischen den Feldern FaehigkeitID in den Tabellen tblBewertungen und tblFaehigkeiten.

    Zu den beiden zentralen Formularen der Musterlösungen zum Erfassen, Bearbeiten und Anzeigen von Daten zählen das Formular frmPersonen und das mit diesem Formular verbundene Unterformular frmSkillsSub. Diese beiden Formulare werden im Folgenden vorgestellt.

    Das Formular frmPersonen

    Das Formular frmPersonen (s. Abb. 7) basiert auf der Tabelle tblPersonen. Das Formular zeigt als Einzelformular die Stammdaten einer Person an und dient daneben zur Aufnahme des Unterformulars frmSkillsSub. Geschlossen wird das Formular mit einem Klick auf die Schaltfläche btnClose im Formularfuß, die die Ereignisprozedur aus Quellcode 1 ausführt.

    Auswahl von Datensätzen

    Jede Datenbankanwendung sollte die Möglichkeit bieten, schnell einen Datensatz als aktuellen Datensatz auszuwählen.

    Abb. 7: Das Formular frmPersonen

    Private Sub btnClose_Click()
        On Error Resume Next
        DoCmd.Close acForm, Me.Name
    End Sub

    Quellcode 1

    Private Sub btnAuswahl_Click()
        If Me!lstAuswahl.Visible Then
            Me!lstAuswahl.Visible = False
        Else
            DoCmd.RunCommand acCmdSaveRecord
            Me!lstAuswahl.Requery
            Me!lstAuswahl.Visible = True
        End If
    End Sub

    Quellcode 2

    In dieser Musterlösung wird das über ein unsichtbares Listenfeld bewerkstelligt, das über eine Schaltfläche sichtbar geschaltet wird.

    Diese Schaltfläche trägt die Beschriftung Auswahl. Nach einem Klick auf die Schaltfläche kann der Benutzer den gewünschten Datensatz auswählen. Daraufhin kann auch das Listenfeld wieder geschlossen werden.

    Doch was, wenn es sich der Anwender anders überlegt und gar nicht mehr zu einem anderen Datensatz wechseln will In diesem Fall wird das Listenfeld durch einen zweiten Klick auf die Schaltfläche btnAuswahl wieder unsichtbar gemacht.

    Genau das leistet die Ereignisprozedur btnAuswahl_Click (s. Quellcode 2).

    Nach Prüfung der Sichtbarkeit der Auswahlliste speichert die Prozedur zunächst den aktuellen Datensatz, fragt mit der Requery-Methode die Datensatzherkunft des Listenfelds erneut ab und schaltet das Listenfeld wieder unsichtbar.

    Praxis-Tipp

    Achten Sie beim Erstellen Ihrer Ereignisprozeduren auf vermeintliche Nebensächlichkeiten wie das vorherige Speichern des aktuellen Datensatzes oder das erneute Abfragen einer Datensatzherkunft wie bei dem gerade gezeigten Beispiel.

    Praxis-Tipp

    Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

    Workplace

    Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

    Schreibe einen Kommentar