Juli 02, 2022, 19:39:04

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Abgleich von zwei Tabellen

Begonnen von Sabrina, Juni 23, 2022, 16:05:13

⏪ vorheriges - nächstes ⏩

Sabrina

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):
Sie dürfen in diesem Board keine Dateianhänge sehen.
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):
Sie dürfen in diesem Board keine Dateianhänge sehen.
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:
Sie dürfen in diesem Board keine Dateianhänge sehen.


Wie setze ich das in VBA um in Access?



Liebe Grüße

Sabrina

markus888

Zitat von: Sabrina am Juni 23, 2022, 16:05:13MaterialID ist der Primärschlüssel und MaterialID mit TatsächlichesProduktionsdatum ist der Alternativschlüssel.

Die Aussagen sind unverständlich.
Die MaterialID müsste ein Fremdschlüssel sein - ist also ein Primärschlüssel einer anderen Tabelle oder wie meinst du das?
Gibt es Tabellen mit Beziehungen - dann zeige ein Bild des Beziehungsfensters mit den Tabellen.

10 Jahre Access

Sabrina

Hallo Markus,

ja, du hast Recht, es sind Fremdschlüssel. Allerdings spielt dies keine Rolle, weil die zwei Tabellen Ergebnisse von zwei separaten Abfragen sind, die aus folgenden Beziehungen stammen:
Sie dürfen in diesem Board keine Dateianhänge sehen.

Ich möchte lediglich in einer Spalte verfolgen, wieviele Istmengen in den 14 Tagen vor dem Plandatum und am Plandatum produziert wurden und in einer anderen Spalte, wieviele Istmengen in den 5 Tagen nach dem Plandatum produziert wurden.
Dies aber mit der Bedingung, dass tatsächlich produzierte überschüssige Mengen nur dann an die nächste identische MaterialID weitergegeben werden, wenn das Datum der tatsächlich produzierten überschüssigen Menge in ihre zwei Zeitfenster fallen.


Liebe Grüße

Sabrina

markus888

Zitat von: Sabrina am Juni 24, 2022, 15:00:36Allerdings spielt dies keine Rolle..

Es spielt keine Rolle, aber solche Aussagen stiften Verwirrung.

Zitat von: Sabrina am Juni 24, 2022, 15:00:36Ich möchte lediglich in einer Spalte verfolgen, wieviele Istmengen in den 14 Tagen vor dem Plandatum und am Plandatum produziert wurden und in einer anderen Spalte, wieviele Istmengen in den 5 Tagen nach dem Plandatum produziert wurden.

Ist das ein Problem für dich?


Zitat von: Sabrina am Juni 24, 2022, 15:00:36Dies aber mit der Bedingung, dass tatsächlich produzierte überschüssige Mengen nur dann an die nächste identische MaterialID weitergegeben werden, wenn das Datum der tatsächlich produzierten überschüssigen Menge in ihre zwei Zeitfenster fallen.

Dieser Teil ist dann doch etwas zu schwammig formuliert.
Anhand welcher Kriterien wird das konkret bestimmt und was ist, wenn die Kriterien nicht zutreffen?
10 Jahre Access

ebs17

ZitatWie setze ich das in VBA um in Access?
In einer Datenbankumgebung würde man sinnigerweise bevorzugt auf Abfragelösungen (SQL) setzen und VBA dann als Ergänzung einsetzen.

Ich könnte mir folgenden Workflow vorstellen:

1) Datensätze der Isttabelle entsprechend Anzahl in Einzeldatensätze auflösen, also Anzahl 80 ergibt 80 Datensätze.
Daten vervielfältigen mit Zahlen-Hilfstabelle

2) Die Datensätze erhalten eine chronologische fortlaufende Nummerierung. Damit kann man Informationen darüber gewinnen, welche Stücke bereits in zeitlich zugeordneten Planungen verbraucht wurden und welche noch offen sind.
Für das Verwerfen oder Mitnehmen für folgende Zuordnungen sollte man auch verwendbare Regeln haben.

Auf der genannten Basis könnte man nun mit Abfragen anfangen, wo Datensätze aus Plan und überarbeitetem Ist per ID, Zeitraum und Anzahl zugeordnet werden.

Mit freundlichem Glück Auf!

Eberhard