Verwaltung von Projekten des Handwerks

Autor: André Minhorst, Duisburg

Die Projektverwaltung in Handwerksbetrieben ist oft eine undurchsichtige Sache – wickeln bisher doch die meisten derartigen Betriebe ihre Projekte mehr oder weniger auf Papier ab. Dabei sammelt sich schnell ein großer Stapel von Informationen in Papierform an – und der will erst einmal gebändigt sein. Dabei wäre es ein Leichtes, die Informationen per PC in eine Datenbank einzugeben und anschließend in Form übersichtlicher Berichte auszugeben. Doch Handwerksbetriebe bestehen oft nur aus wenigen Mitarbeitern und ein EDV-Fachmann ist selten dabei. Daher beschreibt der vorliegende Beitrag eine Musterlösung zur Verwaltung von Projekten, Kosten und Mitarbeitern in Handwerksbetrieben.

Bild 1: Auflistung der zu einem Projekt gehörenden Leistungen

Die Projektverwaltung in Handwerksbetrieben besteht oft lediglich aus einem Haufen Papier. Das muss aber nicht sein: Mit der vorliegenden Musterlösung bringen Sie Ordnung in den Blätterwald.

Probleme bei der Projektverwaltung in Handwerksbetrieben

Selbst der größte Papierstapel kann – einen ebenso fleißigen wie genialen Mitarbeiter vorausgesetzt – zu einem übersichtlichen Ergebnis führen.

So gibt es wahrscheinlich nicht wenige Handwerksbetriebe, die längst pleite waren, bevor sie den Grund für finanzielle Probleme gefunden haben. Eine übersichtliche Planung und eine penible Notierung von Ausgaben für Material und Arbeitskräfte hätte möglicherweise einen anderen Ausgang ermöglicht. So hätte beispielsweise eine Aufstellung wie in Bild 1 einen guten überblick auf die unterschiedlichen Arbeitszeiten gewährt. Stattdessen konnte möglicherweise noch nicht einmal im Nachhinein festgestellt werden, an welcher Stelle die entsprechenden Fehler passierten.

Bild 2: Entwurf der Tabelle tblProjekte

Was kann die vorliegende Musterlösung

Die vorliegende Musterlösung soll zeigen, wie man die unterschiedlichen, für den Handwerksbetrieb notwendigen Daten handhaben kann. Im Rahmen einer Musterlösung kann man selbstverständlich nicht alle Bereiche abdecken – so ist beispielsweise nicht vorgesehen, Angebote oder Rechnungen zu erstellen oder etwa Kalkulationen von Projekten durchzuführen. Stattdessen dient sie zur Verwaltung der Stammdaten von Handwerkern, Kunden und Projekten sowie zur Eingabe und Nachverfolgung von geleisteten Stunden und angefallenen Kosten.

Bild 3: Entwurf der Tabelle tblKunden

Dabei soll der Anwender einzelnen Projekten unterschiedliche Leistungen zuordnen können. Die Leistungen wiederum lassen sich in kleinere Einheiten wie Fahrtzeiten, Rüstzeiten, Materialbeschaffung und die eigentliche Arbeitszeit aufteilen. Außerdem soll der Anwender zu jeder Leistung den Namen des durchführenden Handwerkers angeben können. So können Sie sich anschließend detailliert über alle angefallenen Leistungen und Kosten informieren.

Das Datenmodell der vorliegenden Datenbank besteht aufgrund der Komplexität der Anwendung aus relativ vielen Tabellen und entsprechenden Beziehun-gen zwischen den Tabellen. Sicher hat der eine oder andere bereits Datenmodelle gesehen, die ein Vielfaches der hier vorhandenen Tabellen enthalten. Im Verhältnis zu einer Kontaktdatenbank oder ähnlichem ist dieses Datenmodell hier ziemlich umfangreich.

Speicherung von Stammdaten

Zunächst einmal benötigen Sie einige Tabellen, die zum Speichern der Stammdaten und deren verknüpften Tabellen erforderlich sind.

Tabelle zum Speichern der Kundenstammdaten

Die Tabelle zum Speichern der Kundendaten (siehe Bild 2) beinhaltet die bei solchen Tabellen üblichen Felder wie z. B. Firmenname, Ansprechpartner, Adresse, Telefonnummern usw. Bei der vorliegenden Datenbank wurde aus Gründen der übersicht bewusst darauf verzichtet, mehrere Adressen je Kunde anzugeben. In der Praxis sind dagegen durchaus mehrere Adressen denkbar, wie z. B. Postadresse, Lieferadresse oder Firmensitz. Hier liegt es in Ihrem Ermessen, die Tabelle ent- sprechend sinnvoll auszubauen. Die Tabelle hat keine Felder mit Verknüpfungen zu anderen Tabellen.

Tabelle zum Speichern der Projektstammdaten

Die Projektstammdaten sind ein wichtiger Bestandteil der Handwerkerdatenbank. Da die geleisteten Stunden der Handwerker sowie sonstige angefallene Kosten später den unterschiedlichen Projekten zugeordnet werden sollen, ist das Speichern bestimmter Projektdaten erforderlich. Dabei sind vor allem der Verweis auf den entsprechenden Kunden, die Bezeichnung und die Dauer des Projektes und noch einige weitere Informationen interessant (siehe Bild 3). Die Tabelle tblProjekte besitzt ein Feld mit einer Verknüpfung auf die Tabelle der Kundendaten.

Tabelle zum Speichern der Handwerker-stammdaten

Kein Projekt funktioniert ohne die fleißige Mitarbeit der Handwerker. Und da die Verwaltung eines Projektes die beteiligten Handwerker mit einbeziehen soll, muss man auch zu den einzelnen Handwerkern einige Daten speichern (siehe Bild 4).

Dabei geht die Musterlösung allerdings nicht zu sehr ins Detail. Sie begnügt sich, was die persönlichen Daten angeht, mit dem Vor- und Nachnamen des Handwerkers. Wichtiger sind in diesem Zusammenhang die Berufsbezeichnung des Handwerkers sowie der Lohneinkauf.

Die Tabelle verfügt über keinerlei Felder, die Verknüpfungen zu anderen Tabellen beinhalten.

Bild 4: Entwurf der Tabelle tblHandwerker

Bild 5: Entwurf der Tabelle tblLeistungen

Bild 6: Entwurf der Tabelle tblTeilleistungen

Speichern der Projektdaten und der Leistungen

Neben den Tabellen zum Speichern der Stammdaten benötigen Sie einige Tabellen, die zum Speichern der eigentlichen Projektdaten und Leistungen dienen.

Die Tabelle zum Speichern der Leistungen

Das wichtigste Feld der Tabelle zum Speichern der Leistungen (siehe Bild 5) ist das Feld, das die Bezeichnung der Leistung speichert. Neben diesem Feld gibt es zwei Felder, die zur Auswahl von Einträgen anderer Tabellen dienen. Das erste dient zur Auswahl des Projektes, in dessen Bereich die Leistung fällt, und das zweite zur Auswahl des Handwerkers, der die Leistung ausführt.

Außerdem soll die Tabelle ein Feld zur Angabe des Datums enthalten.

Hinweis

Sicher gibt es bestimmte Leistungen, deren Ausführung sich über mehrere Tage hinziehen kann. Im Rahmen der vorliegenden Lösung ist die Dauer durch die notwendige Angabe nur eines Datums auf einen Tag begrenzt. Leistungen, die mehrere Tage in Anspruch nehmen, müssen dementsprechend auf mehrere Leistungen aufgeteilt werden (z. B. durch Anfügen einer lau- fenden Nummer).

Aufteilen der Leistung in Teilleistungen

Um eine möglichst genaue Erfassung der unterschiedlichen Zeiten wie Arbeitszeit, Rüstzeit, Fahrtzeit usw. zu erreichen, sollen die einzelnen Leistungen in die entsprechenden Teilleistungen mit exakten Zeitangaben aufgeteilt werden. So kann der Anwender die Zeiten genau den einzelnen Projekten zuord- nen.

Dazu benötigen Sie eine Tabelle zum Speichern der unterschiedlichen Zeiten (siehe Bild 6). Die Tabelle soll außerdem ein Feld enthalten, über welches sie die Beziehung zur Tabelle tblLeistungen herstellt. Da es wahrscheinlich nur eine begrenzte Anzahl unterschiedlicher Leistungsarten gibt, legen Sie hierfür eine weitere Tabelle an. Die Tabelle heißt tblLeistungsarten (siehe Bild 7). Sie soll neben dem Primärindexfeld lediglich ein Feld mit dem Namen der jeweiligen Leistungsart enthalten.

Bild 7: Entwurf der Tabelle tblLeistungsarten

Bild 8: Entwurf der Tabelle tblKosten

Bild 9: Entwurf der Tabelle tblKostenarten

Bild 10: Datenmodell der Projektverwaltung

Speichern der je Projekt anfallenden Kosten

Neben den Lohnkosten ergeben sich natürlich noch weitere projektspezifische Kosten. Dazu gehören solche Posten wie z. B. Materialkosten, Kosten für Geräte usw. Um die je Projekt anfallenden Kosten entsprechend zu speichern, benötigen Sie noch zwei weitere Tabellen. Die erste Tabelle, tblKosten, dient zum Speichern der Beschreibung des Kostenfaktors, der Höhe des Faktors sowie des Zeitpunktes, an dem die Kosten angefallen sind (siehe Bild 8). Außerdem verfügt die Tabelle über einen Primärindex sowie zwei Felder zur Auswahl weiterer wichtiger Informationen. Das erste dient zur Auswahl des Projektes, zu dem der Kostenfaktor gerechnet wird, und das zweite zur Auswahl eines Eintrags der Tabelle tblKostenarten.

Die Tabelle tblKostenarten beinhaltet zwei Felder: den Primärindex sowie die Bezeichnung der unterschiedlichen Kostenarten (siehe Bild 9).

Zusammenfassung des Datenmodells

Das vorliegende Datenmodell liefert einen Ansatz, um eine komplette Verwaltung von Projekten in Handwerksbetrieben zu ermöglichen. Es gibt sowohl in den einzelnen Tabellen als auch im Datenmodell selbst unzählige Erweiterungsmöglichkeiten. So kann beispielsweise die Tabelle tblKunden sicher noch um einiges umfangreicher gestaltet werden – man könnte sie beispielsweise um diverse Adressen erweitern.

Leider ist der für den vorliegenden Beitrag zur Verfügung stehende Platz begrenzt – sonst würde dieses Datenmodell sicher dasjenige aus Bild 10 bei weitem sprengen.

Was nützt dem Anwender eine Anhäufung von Tabellen, wenn er nicht in ansprechender Weise mit den Daten arbeiten kann Zur Eingabe der Daten sowie zur Auswahl der gewünschten Daten dient eine entsprechende Anzahl von Formularen.

Das Hauptformular

Damit der Anwender überhaupt einen Ansatzpunkt hat, um sich in den unterschiedlichen Möglichkeiten der Datenbank zurechtzufinden, stellen Sie ihm verschiedene Formulare zur Auswahl der verschiedenen Optionen zur Verfügung.

Dabei beginnen Sie mit dem Hauptformular frmStart (siehe Bild 11). Die hier zur Auswahl stehenden Möglichkeiten sollen den Anwender erst einmal in die richtige Richtung schieben.

Eigenschaften eines Auswahlformulars

Damit das Formular ansprechend aussieht und auch in der Mitte des Bildschirms platziert wird, stellen Sie die Eigenschaften Bildlaufleisten, Datensatzmarkierer, Navigationsschaltflächen und Trennlinien auf den Wert Nein und die Eigenschaft Automatisch zentrieren auf den Wert Ja ein.

Bild 11: Hier entscheiden Sie, wo es langgeht.

Bild 12: Mit diesem Formular wählen Sie weitere Formulare zur Bearbeitung der Stammdaten aus.

Mit den drei Schaltflächen btnStammdatenBearbeiten, btnNeueDaten und btnDatenAusgeben soll der Anwender entsprechend weiterführende Menüs öffnen können. Die Schaltfläche btnClose dient zum Beenden der Datenbank.

Hinter der Ereigniseigenschaft Beim Klicken der Schaltfläche verbirgt sich der folgende Code:

Private Sub btnClose_Click()
    DoCmd.Quit
End Sub

Diese Anweisung hat die einzige Funktion, die Anwendung zu beenden.

Die weiteren Schaltflächen zum öffnen der folgenden Menüs verwenden einander ähnliche Prozeduren (s. Quelltext 1).

In den Prozeduren wird jeweils das gewünschte Formular geöffnet – in diesem Fall beispielsweise das Formular zur Auswahl der zu bearbeitenden Stammdaten. Die zweite und letzte Anweisung schließt das aktuelle Formular.

Die weiteren Auswahlformulare

Vom Startformular aus kann der Anwender weitere Auswahlformulare öffnen. Die Schaltfläche mit der Beschrif- tung Stammdaten bearbeiten öffnet z. B. das Formular frmStammdatenBearbeiten. Hier kann der Anwender auswählen, welche Stammdaten er bearbeiten will. Zur Verfügung stehen die Projektdaten, die Handwerkerdaten sowie die Kundendaten (siehe Bild 12).

Die Schaltfläche mit der Beschriftung Neue Leistungen und Kosten eingeben öffnet das Formular frmLeistungenUndKosten. Hier kann der Anwender sich entscheiden, ob er ent-

Quelltext 1

weder neue Leistungsdaten oder neue Kostenfaktoren eingeben möchte.

Schließlich dient die Schaltfläche mit der Beschriftung Daten ausgeben zur Anzeige eines Formulars namens frmDatenausgabe. Hier steht Ihnen die Auswahl der unterschiedlichen Berichte zur Datenausgabe zur Verfügung.

Die Formulare zur Auswahl der weiteren Menüpunkte sind prinzipiell gleich wie das Startformular aufgebaut. Unterschiedlich dazu sind die Namen der aufgerufenen Formulare sowie die Funktionalität, die sich hinter der Schaltfläche mit der Beschriftung Schließen befindet. Während die gleichnamige Schaltfläche im Startformular die Anwendung beendet, hat die Schaltfläche der Unterformulare jeweils das öffnen des übergeordneten Formulars zur Folge. Als Beispiel soll die Prozedur der Schaltfläche btnClose des Formulars frmStamm-datenBearbeiten (s. Quelltext 2) dienen.

Quelltext 2

Dabei ist frmStart die aufzurufende übergeordnete Schaltfläche. Das aktuelle Formular hingegen soll geschlossen werden.

Bild 13: Geben Sie hier den Namen des neuen Formulars ein.

Die Formulare zur Anzeige und Bearbeitung der Stammdaten

Es gibt drei unterschiedliche Formulare, die zur Bearbeitung der verschiedenen Stammdaten dienen. Alle drei sind in Ihrer Funktionsweise nahezu identisch. Daher finden Sie nur die Beschreibung eines der Formulare. Hinsichtlich der Datenherkunft gibt es ebenfalls kaum Unterschiede: Alle drei Formulare beziehen sich auf je eine Tabelle mit Stammdaten. Dabei spielen keinerlei Beziehungen eine Rolle.

Formular zur Anzeige und zum Bearbeiten der Projektstammdaten

Als Beispiel für eines der Formulare zur Bearbeitung der Projektdaten soll das Formular frmStammdatenProjekte dienen. übernehmen Sie auch für dieses Formular die bereits im Hauptformular festgelegten Eigenschaften.

Praxis-Tipp

Wenn Sie mehrere Formulare erstellen möchten, die sich – bezogen auf das Layout – ähnlich sehen, können Sie sich das weitere Erstellen erleichtern: Kopieren Sie einfach das Formular, das als Vorlage dienen soll und fügen Sie es unter einem anderen Namen wieder ein. Das Ganze spielt sich im Datenbankfenster ab. Markieren Sie den Namen des gewünschten Formulars, kopieren Sie das Formular mit der Tastenkombination Strg + C in die Zwischenablage und fügen Sie es mit den Tasten Strg + V erneut ein. Sie müssen nur noch einen geeigneten Namen eingeben (siehe Bild 13).

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

TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

Schreibe einen Kommentar