Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Jimmy89 am März 05, 2015, 08:19:29

Titel: Tabellen befüllen
Beitrag von: Jimmy89 am März 05, 2015, 08:19:29
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
Titel: Re: Tabellen befüllen
Beitrag von: MaggieMay am März 05, 2015, 11:15:00
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?
Titel: Re: Tabellen befüllen
Beitrag von: Jimmy89 am März 05, 2015, 23:34:22
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.

Titel: Re: Tabellen befüllen
Beitrag von: MaggieMay am März 06, 2015, 12:31:08
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

Titel: Re: Tabellen befüllen
Beitrag von: Jimmy89 am März 09, 2015, 08:27:04
Ja genau so war das gedacht.
Vielen Dank. Mit den restlichen Tabellen verfahren ich dann
ebenso.

Gruß
Jimmy
Titel: Re: Tabellen befüllen
Beitrag von: Jimmy89 am März 10, 2015, 13:21:05
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
Titel: Re: Tabellen befüllen
Beitrag von: MaggieMay am März 10, 2015, 13:38:18
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
Titel: Re: Tabellen befüllen
Beitrag von: Jimmy89 am März 23, 2015, 10:44:50
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
Titel: Re: Tabellen befüllen
Beitrag von: database am März 23, 2015, 11:07:27
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
Titel: Re: Tabellen befüllen
Beitrag von: Jimmy89 am März 23, 2015, 11:52:10
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
Titel: Re: Tabellen befüllen
Beitrag von: MzKlMu am März 23, 2015, 12:01:27
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.
Titel: Re: Tabellen befüllen
Beitrag von: MaggieMay am März 23, 2015, 23:31:39
Hi,

setze das Sub-Select in Klammern und nicht in Hochkommata.
Titel: Re: Tabellen befüllen
Beitrag von: Jimmy89 am März 24, 2015, 09:39:00
Hallo Maggie,

Klappt leider auch nicht, da kommt folgende Meldung:
Operation muss eine aktualisierbare Abfrage verwenden!
Titel: Re: Tabellen befüllen
Beitrag von: MaggieMay am März 24, 2015, 18:13:30
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.
Titel: Re: Tabellen befüllen
Beitrag von: Jimmy89 am März 25, 2015, 08:10:54
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
Titel: Re: Tabellen befüllen
Beitrag von: MzKlMu am März 25, 2015, 09:10:49
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.