Bestellungen in Tabellen verwalten

Das Verwalten von Bestellungen in einer Access-Datenbank ist für Einsteiger eine echte Herausforderung. Wer Kunden, Bestellungen, Bestellpositionen und Artikel sauber pflegen möchte, braucht ein sauber normalisiertes Datenmodell – und eine Menge Hirnschmalz, damit alle Felder in den richtigen Tabellen landen. Dieser Artikel zeigt, wie Sie das Datenmodell aufbauen und welche Varianten es gibt.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1202_BestellungenInTabellen.mdb.

Einfacher Ansatz

Dieser Artikel soll zunächst einmal den grundsätzlichen Umgang mit Bestellungen und den dabei anfallenden Daten erläutern. Es gibt unendlich viele Varianten, auf die wir hier (noch) nicht eingehen wollen – erstmal steht das grundsätzliche Verständnis der vorgestellten Konstellation auf dem Plan.

Artikel verwalten

Die erste Tabelle des in diesem Artikel beschriebenen Datenmodells soll die Artikeldaten speichern. Ob es sich bei diesen Artikeln um Produkte oder Dienstleistungen handelt, spielt keine Rolle – Tatsache ist, dass Sie diese möglichst vielen Kunden über eine oder mehrere Bestellungen zuordnen möchten.

Welche Informationen speichert man also zu einem Artikel Das Sie ohne einen Primärschlüssel nicht auskommen, ist klar: Er ist das eindeutige Merkmal einer jeden Tabelle, über das Sie die Datensätze dieser Tabelle anderen Tabellen über ein Fremdschlüsselfeld zuordnen können. Dieses Feld soll in unserem Fall ArtikelID heißen und als Autowertfeld ausgelegt werden. Dieses Feld legen Sie gleich nach dem Erstellen einer neuen Tabelle namens tblArtikel an.

Das zweite wichtige Merkmal eines Artikels ist der Artikelname. Ein Feld namens Artikelname mit dem Datentyp Text und der Feldlänge 255 speichert die Bezeichnungen der Artikel.

Jeder Artikel hat natürlich einen Preis. Diesen legen wir in einem Währungsfeld namens Einzelpreis fest. Schließlich kann es verschiedene Mehrwertsteuersätze geben, die in einem weiteren Feld namens Mehrwertsteuersatz landen sollen. Dieses Feld erhält ebenfalls den Datentyp Währung – dadurch erhalten Sie die notwendige Genauigkeit für spätere Berechnungen der Brutto- und Netto-Rechnungsbeträge (siehe Bild 1).

Entwurf der Tabelle tblArtikel

Bild 1: Entwurf der Tabelle tblArtikel

Der Mehrwertsteuersatz soll allerdings nicht mit dem Währungszeichen versehen werden, sondern als Prozentzahl angezeigt werden. Dazu stellen Sie die Eigenschaft Format des Feldes in der Entwurfsansicht der Tabelle auf den Wert Prozentzahl ein.

Wenn Sie tatsächlich nur Bestellungen verwalten möchten, was hier der Fall ist, reichen diese Felder bereits aus. Varianten, die weitere Informationen erfordern, besprechen wir in weiteren Artikeln. Dort geht es etwa um Artikelbestände, Nachbestellungen, Artikelkategorien und Lieferanten.

Kunden verwalten

Zu einer Bestellung gehört selbstverständlich ein Kunde. Diesen wollen wir auf die einfachste Art und Weise anlegen, und zwar mit einer einzigen Anschrift statt mit mehreren Varianten wie Liefer- oder Rechnungsanschrift. Diese Tabelle heißt tblKunde und enthält die folgenden Felder:

  • KundeID: Primärschlüsselfeld der Tabelle
  • Firma: Firma des Kunden
  • AnredeID: Fremdschlüsselfeld zur Auswahl eines der Datensätze der Tabelle tblAnreden
  • Vorname: Vorname des Kunden
  • Nachname: Nachname des Kunden
  • Bezeichnung: Eindeutige Bezeichnung, die je nach den vorhandenen Daten aus Firmenname, Vorname, Nachname, Anrede oder Kundennummer zusammengesetzt werden kann.
  • Strasse: Straße des Kunden
  • PLZ: PLZ des Kunden
  • Ort: Ort des Kunden
  • Land: Land des Kunden
  • EMail: E-Mail-Adresse des Kunden
  • Telefon: Telefonnummer des Kunden
  • Telefax: Telefaxnummer des Kunden
  • Mobil: Handynummer des Kunden

Um das Datenmodell bezüglich der Kunden zu komplettieren, hängen wir noch die Tabelle tblAnreden an, welche die Daten für das Feld AnredeID liefert. Zusammen sehen diese beiden Tabellen dann wie in Bild 2 aus.

Die beiden Tabellen tblKunden und tblAnreden enthalten die Kundendaten.

Bild 2: Die beiden Tabellen tblKunden und tblAnreden enthalten die Kundendaten.

Eine Erweiterung dieser Kundentabelle könnte aus Feldern für eine zweite Adresse bestehen, die dann entweder als abweichende Liefer- oder Rechnungsadresse dient. Der Einfachheit halber gehen wie in diesem Artikel jedoch davon aus, dass die Kunden nur eine Anschrift als Liefer- und Rechnungsadresse verwenden.

Bestellungen verwalten

Welche Daten müssen Sie überhaupt speichern, um eine Bestellung aufzunehmen Gibt es überhaupt je Bestellung einen Datensatz oder müssen wir sogar mehrere Datensätze pro Bestellung anlegen, um auch die einzelnen Artikel pro Bestellung zu erfassen Wir müssen beides berücksichtigen: Natürlich gibt es pro Bestellung Daten, die nur einmal erfasst werden müssen, da diese für alle Artikel der Bestellung gleich sind – zum Beispiel der Kunde oder das Bestelldatum. Zu einer Bestellung gehören aber oft auch mehr als ein Artikel – auf diesen Punkt kommen wir später zu sprechen. Als erstes legen wir eine Tabelle an, mit der Sie die Basisdaten einer jeden Bestellung erfassen.

Als Erstes benötigen Sie ein Primärschlüsselfeld, dass jede Bestellung eindeutig identifiziert. Danach legen Sie fest, welcher Kunde die Bestellung aufgibt. Dies erledigen Sie, indem Sie ein Fremdschlüsselfeld namens KundeID einrichten und dieses mit den Datensätzen der Tabelle tblKunden verknüpfen.

Wann wurde die Bestellung aufgegeben Diese Frage beantworten wir in einem Datumsfeld namens Bestelldatum. Mehr benötigen wir zunächst nicht: Wir gehen zunächst davon aus, dass Sie die Bestellungen allein erfassen beziehungsweise dass die Anwendung nicht von verschiedenen Mitarbeitern verwendet wird. Daher pflegen wir keine Mitarbeiter-Tabelle in das Datenmodell ein.

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar