Neuigkeiten:

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

Mobiles Hauptmenü

Übertragung der Daten mehrerer Tabelle in eine Gesamt Tabelle

Begonnen von lane, Oktober 28, 2024, 06:28:57

⏪ vorheriges - nächstes ⏩

lane

Guten Morgen,
ich sitze gerade an einer Datenbank für einen Produktionsablauf. Ich möchte das alle Daten aus den einzelnen Tabellen in eine Gesamt Tabelle übertragen werden. Ich habe insgesamt 7 Tabellen die alle andere Spalten haben. Sie definieren sich über eine Zahl an der dann alles in die Gesamt Tabelle eingeordnet wird. Ich habe die ganzen Spalten in die Gesamt Tabelle übernommen und mein aktueller Code ist unten zu finden. Allerdings bin ich ab hier überfragt weil nichts funktioniert. Update: Wenn ich den Code ausführe öffnen sich PopUp Fenster zu jeder Spalte in die man händisch etwas eintragen könnte.
LG und danke im Vorraus

INSERT INTO Gesamt (
    Charge, [HS-Typ], Stück, Material,
    [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV],
    Qualität1, Viskosität, Trockengehalt, Wannentemperatur,
    [WPZ-Lot Nr], Anlage, Wanne, Startdatum, Startzeit, Enddatum, Endzeit,
    Raumtemperatur, Luftfeuchte, Qualität2, Viskosität2, Trockengehalt2,
    Wannentemperatur2, [WPZ-Lot Nr2], Anlage2, Wanne2,
    Startdatum2, Startzeit2, Enddatum2, Endzeit2, Raumtemperatur2, Luftfeuchte2,
    Vulkanisation, [Soll Minuten], [Soll Druck/bar], [Soll Temperatur], [Geplantes Datum],
    Taucher, [Geändert von], [Abgezogen von], Sonstiges, Prüfprotokoll,
    [M1 Fingerspitze], [M2 Handinnenfläche], [M3 Stulpeninnenseite Mitte],
    [M4 Stulpeninnenseite Rollrand], [M5 Rollrand], Länge, Prüfer,
    Dichtheitsprüfung, [1 Beginn], [1 Ende], [2 Beginn], [2 Ende],
    [3 Beginn], [3 Ende], [4 Beginn], [4 Ende], [5 Beginn], [5 Ende],
    [6 Beginn], [6 Ende], [7 Beginn], [7 Ende], [8 Beginn], [8 Ende],
    Datum, DPrüfer, Fehler, Rollrand, Angeschlagen, Fremdkörper,
    Schwachstellen, [Verdickung, Verlaufsspur], [Blasen am Finger],
    [Blasen zw den Fingern], [Blasen am Stulpen], [Blasen an der Handfläche],
    DDichtheitsprüfung, Sonstige, [Summe Ausschuss], [Summe Gut]
)
SELECT
    [Charge], [HS-Typ], [Stück], [Material],
    [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV],
    Qualität, [Viskosität], [Trockengehalt], [Wannentemperatur],
    [WPZ-Lot Nr], [Anlage], [Wanne], [Startdatum], [Startzeit],
    [Enddatum], [Endzeit], [Raumtemperatur], [Luftfeuchte],
    Qualität2, [Viskosität2], [Trockengehalt2], [Wannentemperatur2],
    [WPZ-Lot Nr2], [Anlage2], [Wanne2], [Startdatum2], [Startzeit2],
    [Enddatum2], [Endzeit2], [Raumtemperatur2], [Luftfeuchte2],
    Vulkanisation, [Soll Minuten], [Soll Druck/bar], [Soll Temperatur],
    [Geplantes Datum], [Taucher], [Geändert von], [Abgezogen von],
    Sonstiges, Prüfprotokoll, [M1 Fingerspitze], [M2 Handinnenfläche],
    [M3 Stulpeninnenseite Mitte], [M4 Stulpeninnenseite Rollrand],
    [M5 Rollrand], [Länge], [Prüfer], Dichtheitsprüfung,
    [1 Beginn], [1 Ende], [2 Beginn], [2 Ende],
    [3 Beginn], [3 Ende], [4 Beginn], [4 Ende],
    [5 Beginn], [5 Ende], [6 Beginn], [6 Ende],
    [7 Beginn], [7 Ende], [8 Beginn], [8 Ende],
    [Datum], [DPrüfer], Fehler, [Rollrand],
    [Angeschlagen], [Fremdkörper], [Schwachstellen],
    [Verdickung, Verlaufsspur], [Blasen am Finger],
    [Blasen zw den Fingern], [Blasen am Stulpen],
    [Blasen an der Handfläche], DDichtheitsprüfung,
    Sonstige, [Summe Ausschuss], [Summe Gut]
FROM (
    SELECT
        [Charge], [HS-Typ], [Stück], [Material],
        [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV],
        'Qualität 1' AS Qualität, [Viskosität], [Trockengehalt],
        [Wannentemperatur], [WPZ-Lot Nr], [Soll Temperatur],
        [Geplantes Datum], [M5 Rollrand], [Ende],
        [DPrüfer], [DDichtheitsprüfung]
    FROM [Qualität1]

    UNION ALL

    SELECT
        [Charge], [HS-Typ], [Stück], [Material],
        [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV],
        'Qualität 2' AS Qualität2, [Viskosität], [Trockengehalt],
        [Wannentemperatur], [WPZ-Lot Nr], [Soll Temperatur],
        [Geplantes Datum], [M5 Rollrand], [Ende],
        [DPrüfer], [DDichtheitsprüfung]
    FROM [Qualität2]

    UNION ALL

    SELECT
        [Charge], [HS-Typ], [Stück], [Material],
        [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV],
        'Vulkanisation' AS Vulkanisation, [Viskosität],
        [Trockengehalt], [Wannentemperatur], [WPZ-Lot Nr],
        [Soll Temperatur], [Geplantes Datum], [M5 Rollrand],
        [Ende], [DPrüfer], [DDichtheitsprüfung]
    FROM [Vulkanisation]

    UNION ALL

    SELECT
        [Charge], [HS-Typ], [Stück], [Material],
        [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV],
        'Prüfprotokoll' AS Prüfprotokoll, [Viskosität],
        [Trockengehalt], [Wannentemperatur], [WPZ-Lot Nr],
        [Soll Temperatur], [Geplantes Datum], [M5 Rollrand],
        [Ende], [DPrüfer], [DDichtheitsprüfung]
    FROM [Prüfprotokoll]

    UNION ALL

    SELECT
        [Charge], [HS-Typ], [Stück], [Material],
        [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV],
        'Dichtheitsprüfung' AS Dichtheitsprüfung, [Viskosität],
        [Trockengehalt], [Wannentemperatur], [WPZ-Lot Nr],
        [Soll Temperatur], [Geplantes Datum], [M5 Rollrand],
        [Ende], [DPrüfer], [DDichtheitsprüfung]
    FROM [Dichtheitsprüfung]

    UNION ALL

    SELECT
        [Charge], [HS-Typ], [Stück], [Material],
        [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV],
        'Fehler' AS Fehler, [Viskosität], [Trockengehalt],
        [Wannentemperatur], [WPZ-Lot Nr], [Soll Temperatur],
        [Geplantes Datum], [M5 Rollrand], [Ende],
        [DPrüfer], [DDichtheitsprüfung]
    FROM [Fehler]
) AS subquery;

markusxy

Zitat von: lane am Oktober 28, 2024, 06:28:57Update: Wenn ich den Code ausführe öffnen sich PopUp Fenster zu jeder Spalte in die man händisch etwas eintragen könnte.
Ganz einfach, die Felder existieren nicht, daher interpretiert DAO die als Parameter.

Führ mal diesen Code aus, dann klingelts vielleicht:

    SELECT [Charge]
        ,'Qualität 1' AS Qualität
    FROM [Qualität1]
   
    UNION ALL
   
    SELECT [Charge]
        ,'Qualität 2' AS Qualität2
    FROM [Qualität2]

lane

#2
Das ist jetzt mein aktueller Stand. Allerdings werden die Daten aus der Tabelle Qualität2 und Vulkanisation nicht übernommen. Bei Qualität1 hingegen erscheint alles in meiner Abfrage Tabelle.

SELECT [Charge], [HS-Typ], [Material], [Stück], [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV], [Viskosität], [Viskosität2], [Trockengehalt], [Trockengehalt2], [Wannentemperatur],
       [Wannentemperatur2], [WPZ-Lot Nr], [WPZ-Lot Nr2], [Anlage], [Anlage2], [Wanne], [Wanne2], [Startdatum], [Startdatum2], [Startzeit], [Startzeit2], [Enddatum], [Enddatum2], [Endzeit],
       [Endzeit2], [Raumtemperatur], [Raumtemperatur2], [Luftfeuchte], [Luftfeuchte2], [Soll Minuten], [Soll Druck/bar], [Soll Temperatur], [Geplantes Datum], [Taucher], [Geändert von],
       [Abgezogen von], [Sonstiges]
        ,'Qualität 1' AS Qualität1
    FROM [Qualität1]
   
    UNION ALL
    SELECT [Charge], [HS-Typ], [Material], [Stück], [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV], [Viskosität], [Viskosität2], [Trockengehalt], [Trockengehalt2], [Wannentemperatur],
           [Wannentemperatur2], [WPZ-Lot Nr], [WPZ-Lot Nr2],[Anlage], [Anlage2], [Wanne], [Wanne2], [Startdatum], [Startdatum2], [Startzeit], [Startzeit2], [Enddatum], [Enddatum2], [Endzeit],
           [Endzeit2], [Raumtemperatur], [Raumtemperatur2], [Luftfeuchte], [Luftfeuchte2], [Soll Minuten], [Soll Druck/bar], [Soll Temperatur], [Geplantes Datum], [Taucher], [Geändert von],
           [Abgezogen von], [Sonstiges]
        ,'Qualität 2' AS Qualität2
    FROM [Qualität2];
    UNION ALL
    SELECT [Charge], [HS-Typ], [Material], [Stück], [Tauchgänge Vor], [Tauchgänge Folge], [Tauchgänge HV], [Viskosität], [Viskosität2], [Trockengehalt], [Trockengehalt2], [Wannentemperatur],
           [Wannentemperatur2], [WPZ-Lot Nr], [WPZ-Lot Nr2], [Anlage], [Anlage2], [Wanne], [Wanne2], [Startdatum], [Startdatum2], [Startzeit], [Startzeit2], [Enddatum], [Enddatum2], [Endzeit],
           [Endzeit2], [Raumtemperatur], [Raumtemperatur2], [Luftfeuchte], [Luftfeuchte2], [Soll Minuten], [Soll Druck/bar], [Soll Temperatur], [Geplantes Datum], [Taucher], [Geändert von],
           [Abgezogen von], [Sonstiges]
        ,'Vulkanisation' AS Vulkanisation
    FROM [Vulkanisation];
   

MzKlMu

#3
Hallo,
da würde ich mal das Datenmodell in Frage stellen. Zeige mal ein Bild des Beziehungsfensters.

Union Abfragen sind oftmal ein Hinweis auf ein falsches Datenmodell. Auch die notwendige Gesamttabelle ist ein Hinweis dafür.
Gruß Klaus

lane

Im Beziehungsfenster sind alle Tabellen nur über die Charge verbunden.
Hier ein Bild:
https://imgur.com/a/IGRfvPl

Knobbi38

Warum sollte man auf externe Quellen zugreifen, wenn du ein Bild auch hier hochladen kannst?

lane

Dachte Imgur ist jedem ein Begriff wenn das allerdings ein Problem darstellt. Hier das Bild

MzKlMu

Hallo,
typisches Beispiel für schlecht geplant. Hier hat sich niemand Gedanken über einen den Normalisierungsregeln entsprechenden Aufbau gemacht. Das erkennt man auch daran, dass keine referentielle integrität eingestellt ist.
Auch die vielen mehrfach vorkommenden Feldnamen sind ein Indiz dafür. In einer Datenbank sollte es keine mehrfach vorkommenden Feldnamen geben.
Da sollte sich mal jemand mit den Grundlagen zu Access beschäftigen. Hierzu ein Link zu einem Tutorial:

https://www.access-tutorial.de/

Wenn man die Tabellen ganz sehen könnte (alle Felder) würde man wahrscheinlich noch mehr erschrecken.
Die beiden Tabellen "Gesamt" und "ÜbernahmeGesamt" sind auch mehr als suspekt. Was ist denn der Unterschied zwischen beiden Tabellen da gibt es ja auch viele gleiche Feldnamen?

Die Mess-, Prüf und Kontrollwerte sollten als Feldinhalt (nicht als Feldnamen) in eine extra Tabelle ggf. noch ein Feld für die Einheit (als Fremdschlüssel). In einer n:m Tabelle können dann die Werte zur Charge erfasst werden, als je ein Datensatz. Die Union Abfrage würde dann ersatzlos entfallen.

Zu deinem jetzigen Problem kann ich Dir nicht helfen, das ist mir zu kompliziert.


PS:
Von Imgur habe ich noch nie was gehört, obwohl ich schon sehr lange im Geschäft bin. Ich lade mir allerdings grundsätzlich nur Bilder und Anhänge aus dem Forum hoch.
Gruß Klaus

lane

Vielen Dank für die Antwort.
Hab es allerdings auch mit meiner unglaublich schlecht geplanten und erschreckenden Datenbank hinbekommen.
Meine Abfrage überträgt jetzt alle Daten aus den einzelnen Tabellen in eine "Gesamt" Tabelle.

Gruß

MzKlMu

#9
Hallo,
Zitat.... schlecht geplanten und erschreckenden Datenbank hinbekommen.
Das ändert nichts an meiner Aussage. Und weitere Probleme werden sich garantiert noch einstellen, wenn die DB weiter entwickelt wird.
Gruß Klaus

Beaker s.a.

ZitatMeine Abfrage überträgt jetzt alle Daten aus den einzelnen Tabellen in eine "Gesamt" Tabelle.
Die es schon gibt  ::)  :o
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

lane

#11
Hallo,
die Datenbank wird nicht mehr weiter entwickelt sondern ist nun abgeschlossen.
LG

lane

#12
Zitat von: Beaker s.a. am Oktober 29, 2024, 12:22:48Die es schon gibt  ::)  :o

Nope. Mittlerweile komplett alles überarbeitet

Beaker s.a.

Guter Ton in einem Forum ist es seine Lösung auch zu zeigen.
Machst du wohl nicht weil du wieder "kluge" Ratschläge erwartest?
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)