Artikelverwaltung mit Inventurfunktion

André Minhorst, Duisburg

Die Verwaltung von Artikeln ist eines der Haupteinsatzgebiete von Datenbankanwendungen. Gerade in Zeiten von Online-Shops mit Datenbankanbindung und stetig zunehmenden Handels auf Auktionsplattformen wie eBay erleben Datenbankanwendungen zur Verwaltung von Artikeln eine Renaissance. Da will Access im Unternehmen nicht außen vor stehen und startet mit der Artikelverwaltung des vorliegenden Beitrags eine neue Reihe mit Musterlösungen, der unter anderem Datenbanken für Bestellverwaltung, Faktura und Mahnwesen folgen werden.

Wer mit der Zeit geht, der wirft nichts mehr weg, sondern er verkauft, was er nicht mehr braucht. Vielleicht macht er das Ganze auch gewerbsmäßig oder bestreitet mit dem An- und Verkauf diverser Produkte ganz oder teilweise seinen Lebensunterhalt Irgendwann wird es dann Zeit, sich einmal mit dem Einsatz einer Artikelverwaltung anzufreunden – erst recht, wenn diese wie die in diesem Beitrag besprochene auch noch eine Inventurfunktion und in folgenden Ausgaben noch Erweiterungen wie eine Bestellverwaltung, eine Fakturierung und ein Mahnwesen mit sich bringt.

In den folgenden Kapiteln erfahren Sie, wie Sie Artikel und damit in Zusammenhang stehende Informationen in einer Datenbank speichern und verwalten können. Dazu gehört neben den Artikeln selbst noch Informationen über Wareneingänge und -ausgänge, Umbuchungen und Inventuren. Teilweise werden für diese Anwendung bereits Tabellen verwendet, die erst in den in folgenden Beiträgen zu diesem Themenkomplex behandelt werden – dazu gehört die Verwaltung von Bestellungen und Kunden.

Die Formulare zur Eingabe der entsprechenden Daten sind dementsprechend rudimentär und werden zukünftig ausgebaut.

Wenn Sie bereits einen Online-Shop führen oder in dieses Geschäft einsteigen möchten, ist Access als Datenbackend auf dem Internetserver sicher nicht die erste Wahl – hier kommen besser geeignete Systeme wie MySQL zum Zuge. Das folgende Know-how können Sie hier dennoch einsetzen – denn auch die Daten in einer MySQL-Datenbank auf dem Server wollen erst einmal verwaltet werden. Und das lässt sich mit einem Access-Frontend sicher besser bewerkstelligen als mit einer Web-Benutzungsoberfläche – und die Erstellung des Access-Frontends ist in den meisten Fällen wesentlich weniger aufwändig und damit auch kostengünstiger.

Das Datenmodell können Sie auch für eine MySQL-Datenbank verwenden; die Formulare und Berichte lassen sich ebenfalls mit einer MySQL-Datenbank kombinieren. Wie das sogar über das Internet funktioniert, erfahren Sie im Beitrag MySQL und Access in Ausgabe 6/2004.

Das Kernstück der Artikelverwaltung ist das Formular zur Ansicht der Artikeldetails. Hier finden sich sowohl die Stammdaten des Artikels wie Bezeichnung, Beschreibung, Hersteller, Lieferanten, Einheit, Mehrwertsteuersatz, Verkaufspreis, Kategorie und der Meldebestand. Auch eine Abbildung lässt sich zu jedem Artikel speichern. Die Anzeige dieser Informationen erfolgt auf der ersten Registerseite des Formulars aus Abb. 1.

Zusätzlich können Sie zu jedem Artikel den Wareneingang und -ausgang, die Umbuchungen sowie Informationen zu den Inventuren anzeigen lassen. Diese Informationen zeigt das Formular auf der zweiten Registerseite an (s. Abb. 2).

Abb. 1: Verwaltung der Stammdaten eines Artikels

Abb. 2: Anzeige von Wareneingängen und -ausgängen

Abb. 3: Bearbeiten von Wareneingängen

In dieser Version der Artikelverwaltung lassen sich Wareneingänge, -ausgänge und Umbuchungen mit entsprechenden Formularen eingeben.

Die Bearbeitung der Wareneingänge erfolgt nach dem Betätigen einer der Schaltflächen Bearbeiten oder Neuer Wareneingang in dem Formular aus Abb. 3.

Warenausgänge sind in der Regel mit einer Bestellung verknüpft. Das ist auch in diesem Fall so: Warenausgänge, die nicht mit einer Bestellung zusammenhängen, müssen als Umbuchung gespeichert werden.

Bestellungen legen Sie durch Betätigen der Schaltfläche Zu den Bestellungen und anschließendes Eingeben der Bestellung im Formular aus Abb. 4 an.

Die mit diesem Formular verbundene Eingabe von Liefer- und Rechnungsadressen wird in einem separaten Beitrag zum Thema “Bestellverwaltung” in einer der kommenden Ausgaben behandelt; die aktuelle Version dieses und der damit verknüpften Formulare wird unter Umständen noch die eine oder andere änderung über sich ergehen lassen müssen.

Die dritte Art der Bestandsänderung sind Umbuchungen. Auch hier ist das Artikelformular Ausgangspunkt zum Aufruf eines weiteren Formulars zum Bearbeiten der Bestandsänderungen (s. Abb. 5).

Das letzte Listenfeld auf der zweiten Registerseite des Artikelformulars enthält die Informationen über Inventuren. Die dort angezeigten Daten beziehen sich jeweils auf den aktuell im Formular angezeigten Artikel.

Abb. 4: Eingabe einer Bestellung

Abb. 5: Bearbeiten einer Umbuchung

Abb. 6: Eintragen von Inventurdaten per Formular

Per Mausklick auf die Schaltfläche “Inventur starten” öffnen Sie das Formular aus Abb. 6.

Das Formular zeigt das Datum der letzten Inventur und den Bestand zu diesem Zeitpunkt an. Für die aktuelle Inventur wird das Datum voreingestellt sowie der Bestand laut Datenbank angezeigt. Der Benutzer muss gegebenenfalls noch das Inventurdatum anpassen und den tatsächlichen Bestand dieses Artikels eintragen.

Das Feld Differenz zeigt den Unterschied zwischen tatsächlicher und berechneter Anzahl an. Nach Betätigen der Schaltfläche “Inventur speichern” trägt eine Routine die Differenz in Form eines neuen Umbuchungs-Datensatzes in die entsprechende Tabelle ein.

Der nachfolgend besprochene Teil des Datenmodells der Artikelverwaltung enthält elf Tabellen. Die beiliegende Version der Beispieldatenbank bietet noch einige Tabellen mehr, die aber mit der Bestellverwaltung zusammenhängen, die in einer der folgenden Ausgaben erläutert wird. Eine übersicht über das Datenmodell finden Sie in Abb. 7.

Artikel

Die Tabelle tblArtikel enthält die Detailinformationen zu den einzelnen Artikeln. Die Tabelle beinhaltet drei Fremdschlüsselfelder für die Auswahl eines Herstellers aus der Tabelle tblHersteller, eine Einheit wie beispielsweise Kilogramm oder Flaschen aus der Tabelle tblEinheiten und eine Kategorie aus der Tabelle tblKategorien.

Außerdem speichert die Tabelle die Artikelnummer, die der jeweilige Hersteller für den Artikel vorhält, die Bezeichnung und eine kurze Beschreibung des Artikels, den Mehrwertsteuersatz und den Meldebestand.

Das ist der Lagerbestand, bei dessen Erreichen neue Ware geordert werden muss.

Und natürlich darf auch ein OLE-Feld zum Speichern einer Abbildung nicht fehlen; zusätzlich ist auch noch ein Feld für den Dateinamen der Abbildung vorgesehen.

Abb. 7: Das Datenmodell der Artikelverwaltung

Kategorien

Die für jeden Artikel auszuwählende Kategorie stammt aus der Tabelle tblKategorien. Diese enthält lediglich die Felder KategorieID als Primärschlüsselfeld, die Bezeichnung der Kategorie und ein Fremdschlüsselfeld mit Bezug auf den Primärschlüssel derselben Tabelle. Dieser kann nützlich sein, wenn Sie mit mehreren Kategorieebenen arbeiten möchten. In der hier beschriebenen Fassung der Artikelverwaltung ist das allerdings nicht der Fall.

Lieferanten und Hersteller

Die Lieferanten und Hersteller teilen sich die Tabelle tblFirmen. Das ist einerseits sinnvoll, weil Hersteller und Lieferant eines Artikels ja durchaus identisch sein können. Davon abgesehen unterscheiden sich Lieferanten und Hersteller aber dadurch, dass es für jeden Artikel nur einen Hersteller, aber mehrere Lieferanten geben kann.

Deshalb wird der Hersteller des Artikels auch einfach über ein Fremdschlüsselfeld der Artikeltabelle ausgewählt, während die Festlegung des oder der Lieferanten über eine Verknüpfungstabelle erfolgt, die eine m:n-Beziehung zwischen den Tabellen tblArtikel und tblFirmen aufbaut.

Einheiten

Die Tabelle tblEinheiten dient als Lookuptabelle für das Fremdschlüsselfeld EinheitID der Artikeltabelle. Die Tabelle enthält neben dem Primärschlüsselfeld lediglich das Feld mit der Bezeichnung der Einheit.

Lagerbestand

Der Lagerbestand eines Artikels ist nur zu einem Zeitpunkt als Wert gespeichert – nämlich wenn soeben eine Inventur durchgeführt und noch keine änderung des Bestands des zu untersuchenden Artikels stattgefunden hat. In allen anderen Fällen ermittelt die Anwendung den Lagerbestand aus dem Bestand zum Zeitpunkt der letzten Inventur und allen seitdem erfolgten Bestandsänderungen.

Bestandsänderungen

Die Tabelle tblBestandsaenderungen speichert alle Bestandsänderungen, egal ob es sich um einen Wareneingang oder einen Warenausgang handelt. Die Tabelle enthält das Primärschlüsselfeld BestandsaenderungID, die ArtikelID des betroffenen Artikels, die gebuchte Menge und das Buchungsdatum der Bestandsänderung. Für die Durchführung von Inventuren ist es außerdem wichtig, bereits in einer früheren Inventur berücksichtigte Bestandsänderungen zu kennzeichnen, damit diese nicht erneut in die Berechnung des aktuellen Bestands einbezogen werden. Schließlich enthält das Feld Vorzeichen Informationen, ob es sich um einen Wareneingang oder -ausgang handelt. Das Feld beinhaltet entweder den Wert 1 oder -1 und wird bei der Inventur multiplikativ in die Berechnung des Bestandes miteinbezogen. In Abb. 8 finden Sie den Aufbau der Tabelle und die Datentypen der einzelnen Felder.

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