Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Gertgensb am Februar 25, 2015, 20:11:12

Titel: Lagerverwaltung
Beitrag von: Gertgensb am Februar 25, 2015, 20:11:12
Hallo,
Ich stehe momentan ein wenig auf dem Schlauch.
Undzwar, ich erstelle eine Datenbank für Lagerverwaltung. Es gibt 3 Tabellen.

1. Tabelle:
Stammdaten
Hier sollen alle Datensätze die jemals angelegt wurden stehen.

2. Tabelle:
Das Lager
Hier sollen die Datensätze aus den Stammdaten angezeigt werden die sich im Lager befinden. Der Bestand soll sich um denn Bestand des Datensatz aus der in der 3. Tabelle eingescannten (Via Barcode) Artikel verringern.

3. Tabelle:
Lager Ausgang
Hier sollen via Barcode gescannte Produkte die das Lager verlassen aufgelistet werden mit bestand und allem was halt dazugehört und außerdem einer Kom. zugeordnet werden können.

Ich stehe momentan total auf dem Schlauch wie ich das Lösen kann. Die 3 Tabellen sind schon vorhanden. Ich hoffe ihr könnt mir helfen.
Achja, ist Access 2013

Mit freundlichen Grüßen
Titel: Re: Lagerverwaltung
Beitrag von: MzKlMu am Februar 25, 2015, 20:24:45
Hallo,
ein Bestand ist überflüssig, wenn Du Zugangsmengen positiv und Abgangsmengen negativ speicherst ist der Bestand die Summe der Mengen  gruppiert über den Artikel. Der so ermittelte Bestand ist automatisch immer aktuell.
Die Tabelle "LagerAusgang" sollte daher auch die Zugangsmengen umfassen.
Titel: Re: Lagerverwaltung
Beitrag von: database am Februar 25, 2015, 20:30:08
Hallo,

ich glaube nicht, dass du mit den beschriebenen 3 Tabellen das Auslangen finden wirst oder kannst.
Eine Lagerverwaltung ist ein relativ komplexes System, das man nicht so einfach mal schnell hinklatscht.  ;)

Unabhängig von deinen Datenbankkenntnissen solltest du dich mal mit dem Suchbegriff 'Lagerverwaltung + Access' über die Ergebnisse einer Googelei hermachen und dir ansehen, was so am Markt gebräuchlich ist.

Des Weiteren müsstest du dir ernsthafte Gedanken darüber machen was die Datenbank zu leisten im Stande sein soll. Dabei geht es nicht alleine darum in eine Tabelle Datensätze einzutragen, hier geht es in erster Linie darum detailliert zu überlegen WELCHE Daten überhaupt relevant sind.
Daneben überlegst du dir dann was aus der Datenbank herauszulesen sein soll und muss, skizzierst ein Szenario über die Vorgänge, lässt vielleicht Erkenntnisse aus den Google-Ergebnissen einfließen und baust dann ein funktionstüchtiges ERM.
Danach kannst du Überlegungen anstellen wie dieses ERM in ein fehlerfreies Relationenmodell umgelegt wird und DANN erstellst du einen ersten normalisierten Tabellenentwurf.

So wie du in deiner Anfrage das Problem beschrieben hast lässt sich leider keine funktionstüchtige Datenbank erzeugen.
Titel: Re: Lagerverwaltung
Beitrag von: Gertgensb am Februar 25, 2015, 20:49:41
Hallo,
danke erstmal für die schnelle Antwort.

Das einzigste Problem habe ich momentan dabei das die Lager Tabelle ihre Daten aus der Tabelle Stammdaten beziehen soll. Es soll ein Formular geben wo die Barcode Nummer eingetragen werden soll und dann direkt Informationen wie Name aus der Stammdaten Tabelle geladen wird. Dann soll man nur noch die menge angeben welche Neu eingelagert werden soll und dann halt speichern. Vom Formular her alles kein Problem das einzigste problem habe ich nur beim Beziehen der Daten aus einer anderen Tabelle.
Titel: Re: Lagerverwaltung
Beitrag von: DF6GL am Februar 25, 2015, 22:23:08
Hallo,

ZitatDas einzigste Problem ...

dabei wird es nicht bleiben...


Zitatdie Lager Tabelle ihre Daten aus der Tabelle Stammdaten beziehen soll

Eine Tabelle kann keine Daten aus einer anderen "beziehen".


Zitatdie Barcode Nummer eingetragen werden soll und dann direkt Informationen wie Name aus der Stammdaten Tabelle geladen wird.

Wie soll das genau gehen? Mit Barcode-Scanner oder manuell?
Weiterhin brauchen Daten aus der Stammdatentabelle nicht in eine andere übertragen werden. "Übertragen" (gespeichert) wird NUR der Primärschlüsselwert aus der Stammdatentabelle. Dabei kann es sich beim PS um eine separate ID-Nummer (Autowert) handeln oder auch gleich um die Barcodenummer, sofern diese eindeutig und durchgängig einen Artikel (Material) kennzeichnet.

Tabelle 2 und 3 sind (wie von Klaus schon angemerkt) fehl am Platz.

Sinnvoll (richtig) wäre eine Tabelle "tblLagerBewegungen" mit mindestens den folgenden
Feldern:
LB_ID (Autowert)
LB_MatID  (Zahl, Long, falls in der Materialtabelle ein Autowertfeld als PK existiert)
oder LB_BarcodeNr (Text, falls in der Materialtabelle die Barcodenummer als PK benutzt wird)
LB_Menge (Zahl, Long,  negative Werte für Lagerausgang, positive Werte für Lagereingang)
LB_BewegungsDatum (Datum/Uhrzeit)
.
.

In einem Formular mit Basis (Datenherkunft) zur Tabelle "tblLagerBewegungen" wird

----im Fall eines PK-Autowertes für das Feld "LB_MatID"  ein
Kombifeld benutzt mit folgenden Einstellungen:

Datensatzherkunft:  Select MatID, BarcodeNr from tblStammdaten
Spaltenanzahl: 2
gebundene Spalte: 1
Spaltenbreiten: 0cm;3cm
Steuerelementinhalt: LB_MatID

Wird jetzt in dieses Kombifeld eine Barcodenummer eingetragen (oder eingescannt) dann wird die zu diesem Barcode gehörenden Material-ID in die Bewegungstabelle abgelegt.

----im Fall der Barcodenummer als PK für das Feld "LB_BarcodeNr "  ein
normales gebundenes Textfeld benutzt mit folgender Einstellung:
Steuerelementinhalt: LB_BarcodeNr

Wird hier der Barcode eingegeben, so wird lediglich dieser in die Bewegungstabelle abgelegt, das Material aber eindeutig gekennzeichnet.

Um die sonstigen Material-Stammdaten im Bewegungsformular anzuzeigen, kann für die einzelnen dazu nötigen Textfelder die Dlookup-Funktion benutzt werden oder es wird für die Datenherkunft des Forms eine über beide Tabellen verknüpfende Abfrage benutzt , in etwa so:

Select * from tblLagerbewegungen inner join tblStammdaten on tblLagerbewegungen.LB_Matid = tblStammdaten.MatID

bzw. bei der Barcodenummer als PK:
Select * from tblLagerbewegungen inner join tblStammdaten on tblLagerbewegungen.LB_BarcodeNr = tblStammdaten.BarcodeNr
Titel: Re: Lagerverwaltung
Beitrag von: HB9876 am Februar 27, 2015, 03:43:57
Hallo,
ich kann dir bei der Erstellung der Access Anwendung nicht wirklich helfen, aber bin seit Jahren fuer WMS zustaendig.
Mit einem Aufbau ueber drei Tabellen wirst du wirklich nicht weit kommen, besonders ueber die benoetigten Anforderungen solltest du dir Gedanken machen.
Im generellen ist die Frage was du verwalten moechtest bzw. was verwaltet werden muss und in welchem Umfang das geschehen soll.
Grundsaetzlich benoetigtst du die folgenden Tabellen (je nach Anforderung mehr oder weniger)
Stammdaten:
Lieferanten
Speditionen
Kunden
Artikel
Lagerplaetze
Verpackungen (Behaelter)
User & Profile

Lager- Bewegungsdaten:
Wareneingaenge
Umbuchungen
Warenausgaenge

Warenausgangsdaten:
Transportdaten
Lieferscheindaten

Dieses, mal abgesehen von der Userverwaltung, sehe ich als minimum fuer eine Lagerverwaltung an.
Wie schon gesagt haengt das ganze vom Einsatzgebiet ab, was bei einem E-Bay shop natuerlich anders zu bewerten ist als bei einem Materiallager.

Ich hoffe hiermit einen kleinen Denkanstoss zu geben.