Ermitteln der Kosten eines Mindestbestands mit MS ACCESS

Dieser Text entstand 1996 und setzt Access 2.0 voraus. Vielen Dank für Ihre interessante Aufgabenstellung. Ich werde sie sicher bei nächster Gelegenheit in einem Kurs vorstellen, weil sich daran fast alles (Erstellen von Berichten mit Funktionen, Verknüpfungen mit referentieller Integrität, Formulare mit Kombinationsfeldern auf Basis von Abfragen und Berichte mit Gruppierung) lernen läßt.

Ich habe zunächst vier Tabellen erstellt und folgende Beziehungen definiert, alle mit referentieller Integrität. In der Abbildung wird die letzte Linie gerade erstellt und noch nicht angezeigt:

Diese Beziehungen ermöglichen eine Abfrage zur Eingabe der Angebote, bei der die Kürzel sofort nach der Eingabe aufgelöst werden: Artikelnummer -> Mindestbestand, Lieferantennummer -> Lieferantenname, Währung -> Wechselkurs beim Ankauf. Außerdem kann mit berechneten Feldern der Wert des Mindestbestandes =Mindestbestand*Wechselkurs*Einzelpreis angezeigt werden.

Der Assistent macht daraus schnell ein Formular, das ich aber noch überarbeiten würde, etwa durch Einbau von Kombinationsfeldern. Hier habe ich noch die relational ermittelten Felder grau formatiert und "In Reihenfolge" auf "Nein" gesetzt.

Diese Formatierungen (Nicht in Reihenfolge) und Steuerelemente (Kombinationsfelder) erleichtern auch die Eingabe in der tabellarischen Darstellung als Datenblatt:

Nun brauchen wir eine Auswahl aus den Angeboten. Und zwar sollen die Sätze dargestellt werden, bei denen der Gesamtpreis minimal ist. Für jeden Artikel ein Satz. Das leistet diese Abfrage:

Um diese Abfrage zu erstellen, müssen Sie die Zeile Funktionen anzeigen lassen (Ansicht / Funktionen)

 

Die Anzeige dieser Abfrage zeigt nur eine Zelle, also nur eine Zeile und eine Spalte. Im Schnittpunkt dieser einen Zeile und einen Spalte steht die Summe der Mindestbestandsmindestbeschaffungskosten jedes Artikels

Nicht gefragt, aber trotzdem interessant ist die Überlegung, welcher Anbieter denn das günstigste Angebot abgegeben hat. Ich rate dazu, zwei Abfragen (üblich ist Tabellen) in einer Abfrage zu untersuchen, nämlich die, die die günstigsten Angebote ermittelt und die, die alle Angebote enthält, aber mit zusätzlichen Angaben. Gesucht ist dann der Angebotssatz, dessen berechnetes Feld Mindestbestandskosten gleich dem Minimum von Mindestbestandskosten ist. Leider gibt es diesen Satz nicht, denn die berechneten Felder sind Fließkommazahlen, bei denen genaue Übereinstimmung nicht zu erwarten ist. Ich habe deshalb die Sätze gesucht, bei denen die Mindestbestandskosten vom Minimum der Mindestbestandskosten um höchstens 10 Pf. abweichen:

Sie könnten auch alle Felder auf einmal mit "*" einfügen. Dann wären aber die berechneten Felder nicht über das Eigenschaftenfenster als Festkommazahl oder Währung zu formatieren.

Aus dieser Abfrage können Sie auch einen Bericht generieren lassen (mit dem Assistenten für Gruppierungen). Dann werden alle Zahlenfelder im Berichtsfuß aufsummiert. Das ist für die Artikelnummern und Wechselkurse natürlich Blödsinn, aber bei den Mindestbestandskosten haben Sie genau das gewünscht. Die übrigen Summenfelder entfernen Sie in der Entwurfsansicht:

Die Onlinehilfe schreibt zum "Berechnen einer laufenden Summe":

Ich habe diese Abfragen, Tabellen und den Bericht in die Sammlung von ACCESS-Beispielen eingebaut

Selbstentpackendes Archiv (670646 Byte, Format Access 2.0) Spätere Versionen können nicht alle Elemente der Datenbank benutzen; für dieses Beispiel ist das kein Problem, weil man die Objekte mit "Mindestbestand" im Namen in eine neue Datenbank importieren kann.

 

Inhalt Home Email