Abgleich von zwei Tabellen
Sabrina
Gesendet: 23.06.22 17:20
Betreff: Abgleich von zwei Tabellen


New user

Beiträge: 1

Hallo,

ich würde mich trotz Erfahrung in der VBA-Programmierung in Excel als Neuling in VBA im Bereich Access bezeichnen.

Ich habe zwei Tabellen in meiner Datenbank.

Die erste ist chronologisch folgendermaßen aufgebaut (nur ein Beispiel zur Verdeutlichung):

MaterialID | GeplantesProduktionsdatum | GeplanteProduktionsmenge
---------------------------------------------------------------------------------
255 | 27.12.2021 | 192
255 | 04.01.2022 | 192
300 | 15.01.2022 | 94
300 | 12.04.2022 | 188
300 | 19.04.2022 | 94
87 | 19.06.2022 | 10

MaterialID ist der Primärschlüssel und MaterialID mit GeplantesProduktionsdatum ist der Alternativschlüssel.

Die zweite ist ebenfalls chronologisch aufgebaut und hat folgende Struktur (nur ein Beispiel zur Verdeutlichung):

MaterialID | TatsächlichesProduktionsdatum | TatsächlicheProduktionsmenge
------------------------------------------------------------------------------------
255 | 31.12.2021 | 200
255 | 05.01.2022 | 5
300 | 12.01.2022 | 100
300 | 11.04.2022 | 500

MaterialID ist der Primärschlüssel und MaterialID mit TatsächlichesProduktionsdatum ist der Alternativschlüssel.


Wie schaut jetzt eine Prozedur aus, die mir für MaterialID 300 z. B. ausgehend vom zugehörigen Datum in der Planungstabelle alle Produktionsmengen in der Isttabelle mit MaterialID 300 die vor 14 Tagen vor dem geplanten Produktionsdatum bis zum geplanten Produktionsdatum inklusive summiert und in einer neuen Spalte in einer neuen Tabelle ausgibt?

Dazu soll es aber noch eine Spalte geben, die mir die Summe der Mengen ausgibt, die in den folgenden 5 Tagen tatsächlich produziert wurde.

Jetzt kommt aber der Knackpunkt: Diese zwei Berechnungen (Zeitraum davor und danach) sollen die geplante Menge 'auffüllen' und den Überschuss an die nächste MaterialID 300 weitergeben, falls dieser Überschuss in die jeweiligen Zeiträume dieser nächsten MaterialID 300 fällt. Falls es keine nächste MaterialID 300 gibt mit sich überschneidenden Zeiträumen, soll keine anteilige Menge weitergegeben werden und falls es eine Unterdeckung gibt, gibt es sowieso nichts zum Weitergeben.

Die Endtabelle würde also so ausschauen:

MaterialID | GeplantesProduktionsdatum | GeplanteProduktionsmenge | InnerhalbVon14TageFensterDavorProduziert | InnerhalbVon5TageFensterDanachProduziert
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
255 | 27.12.2021 | 192 | | 192 (vom 31.12.2021 anteilig)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
255 | 04.01.2022 | 192 8 (vom 31.12.2021 anteilig) | 5
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
300 | 15.01.2022 | 94 | 100 (wird vom 12.01.2022 übernommen, da der Überschuss von 6 nicht weiteregegeben werden kann) |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
300 | 12.04.2022 | 188 | 188 (vom 11.04.2022 anteilig) |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
300 | 19.04.2022 | 94 | 312 (anteilig vom 11.04.2022; Überschuss kann nicht weitergegeben werden.) |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
87 | 19.06.2022 | 10 | 0 | 0


Wie setze ich das in VBA um in Access?



Liebe Grüße

Sabrina
Top of the page Bottom of the page