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 2/2001.

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

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.

Abb. 1: Auflistung der zu einem Projekt gehörenden Leistungen

Projektverwaltung in Handwerksbetrieben

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 Abb. 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.

Abb. 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.

Abb. 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.

Vorüberlegungen zum Datenmodell

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 (s. Abb. 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 (s. Abb. 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 (s. Abb. 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.

Abb. 4: Entwurf der Tabelle tblHandwerker

Abb. 5: Entwurf der Tabelle tblLeistungen

Abb. 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 (s. Abb. 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 (s. Abb. 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 (s. Abb. 7). Sie soll neben dem Primärindexfeld lediglich ein Feld mit dem Namen der jeweiligen Leistungsart enthalten.

Abb. 7: Entwurf der Tabelle tblLeistungsarten

Abb. 8: Entwurf der Tabelle tblKosten

Abb. 9: Entwurf der Tabelle tblKostenarten

Abb. 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 (s. Abb. 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 (s. Abb. 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 Abb. 10 bei weitem sprengen.

Ohne Formulare keine Dateneingabe

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 (s. Abb. 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.

Abb. 11: Hier entscheiden Sie, wo es langgeht.

Abb. 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 (s. Abb. 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.

Abb. 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 (s. Abb. 13). (

Anschließend können Sie direkt die Tabelle tblProjekte als Datenherkunft des Formulars festlegen. Dann ziehen Sie die gewünschten Felder, wie in Abb. 14 zu sehen, aus der Feldliste in die Entwurfsansicht des Formulars.

Nachdem Sie die benötigten Felder angelegt und auf die gewünschte Größe gebracht haben, bringen Sie noch ein wenig Individualität in das Formular: Statt der Standard-Navigationsschalt-flächen von Access erstellen Sie Ihre eigenen.

Abb. 14: Ziehen Sie die gewünschten Felder aus der Feldliste in den Formularentwurf.

Abb. 15: Das fertige Formular zur Bearbeitung der Projektstammdaten

Dazu benötigen Sie zunächst fünf Schaltflächen mit den Namen btnFirst, btnPrevious, btnNext, btnLast und btnNew, die Sie mit den entsprechenden Beschriftungen versehen (s. Abb. 15).

Quelltext 3

Quelltext 4

Anschließend können Sie sich mit dem Anlegen der entsprechenden Ereignis-prozeduren beschäftigen, die nicht besonders umfangreich sind.

Die beiden Schaltflächen zum Springen auf den jeweils ersten oder letzten Datensatz
bestehen nur aus einem
einzigen Befehl (s. Quelltext 3).

Ebenfalls nur aus einer Anweisung besteht die Prozedur zum Anlegen eines neuen Datensatzes (s. hierzu Quelltext 4).

Bei den entsprechenden Methoden der DoCmd-Anweisung zum Springen auf
den vorherigen oder nächsten
Datensatz kann es zu einem Fehler kommen, wenn der Datensatzzeiger sich auf dem ersten oder letzten Datensatz befindet. Daher schalten Sie am besten die Fehlerbehandlung für die beiden Prozeduren einfach ab (s. Quelltext 5).

Quelltext 5

Schließlich fehlt noch die obligatorische Schaltfläche zum Schließen des Formulars (s. Quelltext 6).

Quelltext 6

Die Formulare zur Eingabe von Leistungen und Kosten

Während die bisherigen Formulare eher mit trivialen Mechanismen aufwarten, wird es nun interessanter. Für das Formular zur Eingabe von Leistungen sind immerhin zwei Unterformulare erforderlich.

Abb. 16: Das fertige Formular zur Eingabe von Leistungen

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:

Verwandte Beiträge:

Termine in Berichten darstellen

Zeugnisverwaltung mit Access

Gruppensummen ohne Gruppen im Berichtsfuß

Berichte manuell füllen

Excel-Import-Assistent im Eigenbau

Softwareprojekte verwalten

Dynamisches Hilfe- und Dokumentationssystem

Projektzeitmanager

© 2003-2015 André Minhorst Alle Rechte vorbehalten.