Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi an alle:

Hab folgende Aufgabenstellung bekommen und frage ich inzwischen, ob das überhaupt realisierbar ist:

Erstellung einer Lagerverwaltung:

Aufgabe:

1) Jede gelieferte Ware wird auf EINEM EIN-EINDEUTIGEN Lagerplatz abgelegt.

2) Dieser LAgerpaltz wird mit Menge und LIEFERDATUM gespeichert.

3) Entnahme nach dem FIFO Prinzip: Es wird immer die ÄLTESTE Ware zuerst entnommen.

4) Teilmengenentnahmen müssen möglich sein.

Problem:

Ich suche die Ware X, sortiere sie nach Lieferdatum ältestes zuerst, so weit so gut.

Aber dann muss ich ne Schleife starten, die checkt, ob auf dem ältesten Lagerplatz genug Waren sind.

Wenn ja, wird die entsprechende Menge abgezogen, wenn der Lagerplatz dabei geleert wird, muss der Datensatz gelöscht werden, um den Lagerplatz frei zu geben.

Wenn nein, muss ich den zweitältesten datensatz dazunehmen, solange, bis die benötigte Menge abgedeckt wird...

Geht das in ACCESS überhaupt? :rolleyes: :confused: :(

Danke für jegliche Hilfe!

larryfilou

Geschrieben

Hi Larryfilou,

das sollte möglich sein. Kannst du VBA programmieren? also mit dem VBA-Editor in Access umgehen? Das würde die Sache vereinfachen. Mit Makros oder Abfragen wüsste ich da nichts zu. Also hier mal die Logik:

for X = 0 to Anzahl

  if Lagerbestand[Anzahl] = 0 do

    Anweisungen...

  endif

endfor

Ich bin nicht mehr so fit drin, aber so in etwa müsste das aussehen. Natürlich müssen in die Variablen die entsprechenden Datensätze rein, aber wenn du kein VBA programmieren kannst sollte da lieber jemand anderes helfen, der fitter in VBA ist.

Geschrieben

Wie würde ich das dann implementieren?

Wenn ich die Abfrage gemacht habe:

"Teil X sortiert nach Lieferdatum" stehen in der Ausgabe sagen wir mal 5 Datensätze.

Wie sage ich ihm, dass er nur auf den nächsten Datensatz zugreifen darf, wenn der vorherige komplett leer ist? :confused:

Geschrieben

Du musst doch sowieso jeden Datensatz, wo noch etwas abgeht, anpacken und um einen Betrag verringern.

Also kannst du ihn einzelnd einlesen, ändern, speichern und zum nächsten Datensatz gehen.

    DoCmd.GoToRecord , , acNext

Wenn die Menge der Lieferung z. B. in einem Array abgespeichert ist, dann durchläuftst du dieses Array solange, setzt es bei der verbleibnden Menge auf Null (bzw. bei Entnahme auf den Gleichen Wert wie hineinbringen - so daß alles wieder raus ist - falls du eine Historie über die Einlagerungen benötigst), verringerst deine noch benötigte Menge um den ausgetragenden Inhalt.

Beim letztn Mal wird deine benötigte Menge 0 und dein Array entsprechend um den Restbetrag gekürzt.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...