ukulele
Datenbank-Guru
- Beiträge
- 5.322
Wenn ich deinen ersten Screenshot richtig interpretiere dann musst du als erstes die Menge mal Preis für jede Position ausrechnen und dann davon die Summe bilden, nicht umgekehrt. Wenn du 4 Baugruppe1 hast die jeweils 4 Baugruppe2 beinhalten die wiederrum mehrere Einzelteile beinhalten und am Ende steht der Preis 2500 dann musst du die Mengen alle miteinander multiplizieren und dann Menge * Preis rechnen und darüber die Summe. Das ist eigentlich nicht schwer sondern nur viel Code.
Problematisch ist der LEFT JOIN wenn die Struktur unterschiedlich tief ist. Also z.B. Baugruppe1 enthält ein Einzelteil und gleichzeitig zwei oder mehr Baugruppen2. Das Einzelteil kommt in eine eigene Spalte, so oft wie noch Baugruppen2 dazu kommen. Du kannst hier also nicht einfach eine Summe der Einzelteile bilden, die wäre verfälscht. Sollten in deinem Datenbestand solche Fälle vorkommen, das nicht Einzelteile immer nur auf der selben Ebene zugeordnet werden, musst du dir dafür was einfallen lassen. Vermutlich wirst du nicht drum herum kommen eine Abfrage pro Ebene mit Join auf Einzelteile zu machen und die Ergebnisse mit UNION zu verbinden.
Dein Datenmodell ist sehr komplex und hat vermutlich auch Fehler, ich kann mir zumindest auf Einzelteile nicht immer einen Reim machen. Du bist scheinbar in einer Lernphase in der du selbst noch nicht verstehst, was du da tust, da muss man durch Ich würde nicht nur das Datenmodel anders aufbauen sondern auch ein echtes DBMS verwenden. Woher kommen eigentlich die vielen Klammern um die Joins, macht Access das automatisch?
Problematisch ist der LEFT JOIN wenn die Struktur unterschiedlich tief ist. Also z.B. Baugruppe1 enthält ein Einzelteil und gleichzeitig zwei oder mehr Baugruppen2. Das Einzelteil kommt in eine eigene Spalte, so oft wie noch Baugruppen2 dazu kommen. Du kannst hier also nicht einfach eine Summe der Einzelteile bilden, die wäre verfälscht. Sollten in deinem Datenbestand solche Fälle vorkommen, das nicht Einzelteile immer nur auf der selben Ebene zugeordnet werden, musst du dir dafür was einfallen lassen. Vermutlich wirst du nicht drum herum kommen eine Abfrage pro Ebene mit Join auf Einzelteile zu machen und die Ergebnisse mit UNION zu verbinden.
Dein Datenmodell ist sehr komplex und hat vermutlich auch Fehler, ich kann mir zumindest auf Einzelteile nicht immer einen Reim machen. Du bist scheinbar in einer Lernphase in der du selbst noch nicht verstehst, was du da tust, da muss man durch Ich würde nicht nur das Datenmodel anders aufbauen sondern auch ein echtes DBMS verwenden. Woher kommen eigentlich die vielen Klammern um die Joins, macht Access das automatisch?