Hallo zusammen,
folgendes Thema: Ich habe eine BackEnd und eine Front End Datenbank.
Die BackEnd Datenbank speichert unendlich viele Datensätze die leider keinerlei Beziehungen zueinander haben. Mein derzeitiger Stand ist folgender: Ich habe eine FrontEnd Datenbank angelegt mit allen benötigten Tabellen und Beziehungen zueinander.
Ich möchte nun durch Abfragen die benötigten Daten für die Tabellen filtern UND diese dann in die unterschiedlichen Tabellen speichern, sodass die Beziehungen zueinander stimmen.
Im Detail:Meine Abfrage enthält z.b. die Daten Kommissionsnummer, Module, und verschiedene Leistungen.
Nun möchte ich die Kommissionen in einer Tabelle speichern, die Module in einer Tabelle und die Leistungen in einer Tabelle. Es soll aber anschließend eine eindeutige Beziehung hergestellt werden. Jeder Kommission werden eindeutige Module zugeordnet und jedem Modul wird eine eindeutige Leistung zugeordnet.
Damit das ganze klarer wird im Anhang meine Tabellen und Beziehungen und meine Abfrage.
Bei Unklarheiten bitte Fragen.
Vielen Dank
Schöne Grüße
Hallo,
ZitatIch habe eine FrontEnd Datenbank angelegt mit allen benötigten Tabellen und Beziehungen zueinander.
wenn das dein derzeitiger Stand ist, was befindet sich denn dann im Backend und wieso willst du eine Abfrage, die auf diesen Tabellen basiert, wieder in die Tabellen speichern? Oder wo kommen die Daten her?
Die BackEnd stammt aus einem vorgegangenem Projekt.
darin befinden sich millionen von daten, von denen ich aber nur einen Bruchteil
benötige. Daher will ich diese selektieren und ich meine eigene DB speichern.
OK, jetzt habe ich es verstanden. Du könntest zunächst einmal nur die Module anlegen, in einem zweiten Schritt die Kommissionen und zuletzt die Leistungen, wobei du dich jeweils auf die zuvor eingefügten Daten beziehen kannst, um an die jeweiligen Datensatzschlüssel für die Referenzkeys zu kommen.
Beispiel:
Insert Into TblMaschinenModul (MaschinenModul) Select Distinct Modul From Backend_Tabelle
Insert Into TblKommission (Kommission, lngMaschinenModul)
Select Distinct B.Kommission, M.MaschinenModul From Backend_Tabelle As B INNER JOIN tblMaschinenModul As M
ON B.Modul = M.MaschinenModul
Ja genau so war das gedacht.
Vielen Dank. Mit den restlichen Tabellen verfahren ich dann
ebenso.
Gruß
Jimmy
Hallo,
nun stehe ich vor folgender Aufgabe.
Ich habe meine Tabellen erstellt und befüllt.
tblLeistung, tblKommission und tblMaschinenModul.
Diese drei Tabellen beziehen die Daten aus einer Abfrage, qryLeistung. Wie gelingt es mir nun, diese drei Tabellen in Beziehung zueinander zu bringen.
Ich will den Primärschlüssel als lng Wert in der jeweils anderen Tabelle einfügen.
Also z.B. besitzt jede Kommission mehrere Module und diese wiederum besitzen jeweils eine Leistung.
Gibt es da eine Lösung?
Grüße Jimmy
ZitatIch will den Primärschlüssel als lng Wert in der jeweils anderen Tabelle einfügen.
Genau das solltest du doch bereits bei der Tabellenbefüllung tun:
Insert Into TblKommission (Kommission, [color=blue]lngMaschinenModul[/color])
Select Distinct B.Kommission, [color=blue]M.MaschinenModul[/color]
From Backend_Tabelle As B [color=blue]INNER JOIN tblMaschinenModul As M[/color]
ON B.Modul = M.MaschinenModul
Hallo zusammen,
hab das ganze nun etwas automatisiert. Nun klappts auch soweit.
Nur wenn ich jetzt die 2 Spalte befüllen will passiert nicht. Es kommt folgende Meldung:
Microsoft Access hat 229 Felder wegen Typumwandlungsfehlern nicht aktualisiert.
Siehe bitte Anhang.
Ich weiß ehrlich gesagt nicht an was es liegen könnte. Vielleicht kommt wer von euch drauf.
Gruß
Jimmy
Hallo,
Zitatan was es liegen könnte
vermutlich stimmt das Quelldatenformat nicht mit dem Zieldatenformat überein.
Überprüfe mal die Felddatentypen in den beiden Tabellen auf Übereinstimmung
Hm,
daran kann es eigentlich nicht liegen ich füge die ID also den Autowert in ein Feld ein, das
den Datentyp Zahl hat.
Das seltsame ist: Wenn ich das selbe mit einer INSERT INTO Abfrage versuche dann klappt es.
Nur will ich die Werte ja nicht unten anfügen, sondern in die passenden Zeilen schreiben. :(
Gruß Jimmy
Hallo,
es liegt mit ziemlicher Sicherheit daran. Die Angabe Zahl reicht nicht, zu Zahl gibt es 7 unterschiedliche Typen, bitte genau prüfen und vergleichen. Zu einem Autowert passt nur LongInteger.
Hi,
setze das Sub-Select in Klammern und nicht in Hochkommata.
Hallo Maggie,
Klappt leider auch nicht, da kommt folgende Meldung:
Operation muss eine aktualisierbare Abfrage verwenden!
Ich verstehe nicht was du da machst. Ich hatte dir empfohlen, die Fremdschlüssel direkt beim Insert hinzuzuholen, dann brauchst du kein nachträgliches Update.
Musst du ja auch nicht, solang ich es verstehe. Hab das ganze
jetzt jedenfalls lösen können.
Thread kann geschlossen werden.
Vielen Dank für eure Unterstützung.
Gruß
Jimmy
Hallo,
ZitatMusst du ja auch nicht, solang ich es verstehe.
super Einstellung, wenn man um Hilfe nachsucht. Ohne dass man es versteht, kann man doch nicht vernünftig helfen.
ZitatHab das ganze jetzt jedenfalls lösen können.
Und wie ?
Wenn man in einem Forum fragt, zeigt man auch die Lösungen.