Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: mariposas am Juli 27, 2014, 19:05:08

Titel: Chargenverwaltung
Beitrag von: mariposas am Juli 27, 2014, 19:05:08
Hallo,
ich habe eine Artikeltabelle sowie eine damit verbundene Tabelle_MHD (mit Mindesthaltbarkeitsdaten). Bei einem Auftragseingang soll automatisch die Tabelle_MHD abgearbeitet werden und die Tabelle Auftragsdetails mit den entsprechenden Datensätzen ergänzt werden.
Beispiel:
Produkt1: Bestellmenge 22
Tabelle_MHD: Produkt1  MHD1  Bestand 5
                    Produkt1  MHD2  Bestand 10
                    Produkt1  MHD3  Bestand 20
In die Tabele Auftragsdetails muss nun übernommen werden:
5x MHD1 / 10x MHD2 und 7x MHD
In der Tabelle_MHD müssen gelöscht werden: die Datensätze von MHD1 und 2, und der Bestand von MHD3 auf 13 geändert werden
Kann mir dabei jemand helfen bzw. wo finde ich bereits vorhandenen entsprechenden Code?
Titel: Re: Chargenverwaltung
Beitrag von: MzKlMu am Juli 27, 2014, 19:13:43
Hallo,
das Vorhaben halte ich in der Form für falsch.
In einer Datenbank werden keine Bestände gespeichert, sondern aus Zugang (+ Menge) und Abgang (- Menge) errechnet. Das heißt, Du speichert einfach nur die Mengen der Zugänge (+) und Abgänge (-) je MHD.
Wenn Du jetzt eine gruppierte Abfrage erstellst (über Artikel und MHD) mit der Summe über die Menge hast Du automatisch den Bestand. Stets automatisch aktuell.
Das Löschen wird so überflüssig. Und Code braucht es auch keinen.

Erkläre mal das MHD, ist das ein Datum ?
Und warum nur 3 MHD? Theoretisch könnten das doch auch mehr sein.
Titel: Re: Chargenverwaltung
Beitrag von: mariposas am Juli 27, 2014, 19:56:03
Ja, das MHD ist ein Datum, in der Praxis sind hier eine Charge bis teils auch mehr als 3 vorhanden. Beim Wareneingang wird automatisch eine neue Charge erzeugt, d.h. aber auch, dass die Chargen, die mittlerweile keine Bestände mehr aufweisen, gelöscht werden müssen.
Beim Eintragen einer Bestellung muss die gesamte Bestellmenge mit den einzelnen Chargen verrechnet werden.
Titel: Re: Chargenverwaltung
Beitrag von: MzKlMu am Juli 27, 2014, 20:08:33
Hallo,
ZitatBeim Wareneingang wird automatisch eine neue Charge erzeugt, d.h. aber auch, dass die Chargen, die mittlerweile keine Bestände mehr aufweisen, gelöscht werden müssen.
Du hast meinen Hinweis nicht ganz verstanden. Du sollst eben nicht löschen.
Um bei Deinem obigen Beispiel zu bleiben.
MHD1 +5 (Zugang bzw. alter Bestand
MHD1  -5 (Abgang)

+5 -5 = 0, das heißt der Bestand MHD1 ist 0.

Mit anderen Worten, die Tabelle Tabelle_MHD wird endlos weitergeführt Zugänge mit positiven Mengen und Abgänge mit negativen Mengen.
Die Summe gruppiert über MHD und Produkt ergibt den aktuellen Bestand. Ganz automatisch, mit einer einfachen Abfrage, ohne einen Buchstaben Code.
Es wäre auch der für eine Datenbank übliche Weg.
Titel: Re: Chargenverwaltung
Beitrag von: mariposas am Juli 27, 2014, 20:52:48
Das geht aber so einfach nicht. Die MHDs (Ablaufdaten) ändern sich ständig,
Chargen mit älteren MHDs gibt es irgendwann nicht mehr, neue kommen hinzu. Die Anzahl der verschiedenen Chargen (ich meine nicht die Produktmengen) ändert sich ständig, mal sind es 2, dann können es 4 oder auch 6 verschiedene sein.
Und wenn eine neue Bestellung erfasst wird, muss die Gesamtbestellmenge auf die einzelnen Chargen verteilt werden. D.h. ich habe in den Bestelldatendetails, die in die Rechnung einfliessen, teilweise mehrere Datensätze mit unterschiedlichen Ablaufdaten
Titel: Re: Chargenverwaltung
Beitrag von: MzKlMu am Juli 27, 2014, 21:18:10
Hallo,
doch, das geht so einfach. Du musst genau so verteilen wie jetzt auch. Das Ganze ist viel einfacher als Du denkst.
Titel: Re: Chargenverwaltung
Beitrag von: mariposas am Juli 28, 2014, 00:03:22
Kannst Du mir da auf die Sprünge helfen? Ich kriege das mit Abfragen nicht gebacken.
Titel: Re: Chargenverwaltung
Beitrag von: MzKlMu am Juli 28, 2014, 13:58:55
Hallo,
erkläre mal etwas genauer den Aufbau der Tabellen.
Erfasst Du auch die Warenzugänge?
Wenn ja, wie?
Titel: Re: Chargenverwaltung
Beitrag von: mariposas am Juli 28, 2014, 21:12:09
In der TBL_Artikel sind die Stammdaten erfasst sowie die gesamte Lagermenge.
Die TBL_MHD ist mit der TBL_Artikel über das Feld Artikelnr. verbunden, Hier sind die Teilmengen (Chargen) erfasst mit Ablaufdatum und Stückzahl je Charge. Beim Wareneingang wird die neue Gesamtmenge in TBL_Artikel gespeichert und in TBL_MHD ein neuer Datensatz angelegt mit Artikelnr, Datum und Stückzahl, falls der neue Artikel ein anderes Ablaufdatum hat als die bereits erfassten, ansonsten wird, wenn eine der Chargen im Ablaufdatum mit der eingehenden Ware identisch ist, die eingetragene Stückzahl um die Anzahl der neuen Produkte erhöht.
Beim Anlegen einer Verkaufsrechnung sollen die Ablaufdaten der jeweiligen Chargen automatisch in die Rechnung aufgenommen werden (das hatte ich versucht, am Anfang zu erklären: reicht die Menge der jeweils ältesten Charge aus, wird die Stückzahl in TBL_MHD entsprechend reduziert und die TBL_Auftragsdetails um die Daten dieser Charge ergänzt. Reicht die Menge nicht aus, muss die bestellte Menge auf die einzelnen Chargen aufgeteilt werden).
Wareneingang und -ausgang werden also automatisch erfasst. Nur funktioniert nicht die Verrechnung der Chargen bei Rechnungsstellung, was immer einen erheblichen manuellen Mehraufwand bedeutet.
Titel: Re: Chargenverwaltung
Beitrag von: MzKlMu am Juli 29, 2014, 14:01:56
Hallo,
ich habe Dir das mal umgesetzt, wie ich das machen würde.
Schaue Dir mal zunächst die Beziehungen an. Die Daten werden im Formular "frmErfassung" erfasst. Darin sind 3 Unterformulare.

- aktuelle Bestände
- Wareneingänge
- Warenausgänge

Bei dem Warenausgängen kannst Du mit dem Kombi ein MHD auswählen und dann die Menge eintragen. Das Ufo mit den Beständen aktualisiert sich automatisch, sobald bei der Menge Enter gedrückt wird. Im Kombi werden passend zum Produkt nur die MHD zur Auswahl angeboten zu dem es auch noch Mengen gibt.

Alles wird über Abfragen gerechnet. Es werden keine Zeilen gelöscht. Bestände sind auch nirgends gespeichert und müssen demzufolge auch nicht geändert werden.
Die Bestände werden immer errechnet.

Beispiel DB im Anhang. Bei Fragen bitte melden.
Titel: Re: Chargenverwaltung
Beitrag von: mariposas am August 01, 2014, 13:51:51
Vielen Dank ! Sorry für die späte Antwort, ich war krank.
So ähnlich habe ich das umgesetzt. Das funktionert. Aber: das soll auch automatisch funktionieren auf Basis einer Liste, die Artikelnummern und bestellte Mengen enthält. Die Chargen sollen dann automatisch auf die bestellte Menge verteilt werden und in den Auftrag einfliessen. Ich sehe nicht, wie ich das mit Abfragen hinkriege.
Titel: Re: Chargenverwaltung
Beitrag von: MzKlMu am August 02, 2014, 08:16:39
Hallo,
da fehlen noch viele Infos:
Was heißt so ähnlich hast Du das umgesetzt, worin besteht die Ähnlichkeit, bzw. nicht ?
Wie sieht so eine Liste genau aus und in welcher Form (Datei?) bekommst Du diese ?
Um welche Mengen geht es da je Artikel (realistische Zahl) ?
Gibt es auch Verpackungseinheiten mit denen gerechnet wird ?
Kann es vorkommen, dass mehr bestellt wird als da ist ?
Wie wird dann verfahren, Teillieferung ?
Titel: Re: Chargenverwaltung
Beitrag von: mariposas am August 09, 2014, 17:18:30
Die manuelle Eingabe funktioniert einwandfrei. Für die automatische Chargenverwaltung habe ich mir jetzt ein Zusatzprogramm geschrieben. Es sah komplizierter aus als es war. Vielen Dank für die Unterstützung!