Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Daten in verknüpften Tabellen duplizieren?





Frage

Hi all, ich stehe wiedermal vor einem Problem, das mich seit Stunden beschäftigt. Bestimmt kann mir jemand von euch weiterhelfen!? Ich möchte Datensätze aus mehrern Tabellen, die mit einem Autowert-Primärschlüssel miteinander in Beziehung stehen kopieren bzw. duplizieren. Es soll möglich sein, weil diese Form von Datensatz-Gruppen häufig vorkommt, zu kopieren um diese nicht immer wieder neu einzugeben. Hat jemand von euch schon mal vor diesem Problem gestanden und es vielleicht gelöst? Viele Grüße, Raphael

Antwort 1 von pelle

Hallo Raphael,

wenn ich ehrlich bin verstehe ich nicht so ganz Dein Problem!

Mach aus Deiner verknüpften Abfrage eine Tabellen-Erstellungsabfrage
und Du hast ein Duplikat!

Aber dies scheint nicht Dein Problem zu sein, weil Du auch von "nicht neu einzugeben" sprichst.

Kannst Du Dein Problem mal anders schildern??

gruss
pelle

Antwort 2 von totalrel

servus pelle,

jo, da muß ich wohl noch etwas nachbessern.
stellen wir uns drei tabellen vor, die folgendermaßen in beziehung stehen.

tabelle1........tabelle2.......tabelle3
a_nr (AW)--|....b_nr (AW)--|...c_nr (AW)
a_fld1 ....|--> a_nr ......|-->b_nr
a_fld2..........b_fld1.........c_fld1
a_fld3..........b_fld2.........c_fld2

ich habe nun den fall, daß diese kommbination von datensätzen aus den drei tabellen häufiger vorkommen sollen bzw. nicht mehr ganz neu eingegeben werden sollen. wenn dann nur ein feld in tabelle1 wie z.b. a_fld1, sonst ist die struktur und die darin enthaltenen unterdaten vollkommen gleich.

hast du für dieses problem eine attraktive lösung bzw. ansatz?

gruß raphael

Antwort 3 von pelle

Hallo Raphael,

vielleicht ist es nicht mein Tag, aber so ganz verstehe ich Dich immer noch nicht!

Vielleicht kannst Du mir mal eine Beispieltabelle senden!

Was meinst Du mit:
"wenn dann nur ein feld in tabelle1 wie z.b. a_fld1, sonst ist die struktur und die darin enthaltenen unterdaten vollkommen gleich."

Meinst du damit eine neue Tabelle,
wo die Abfrage angepasst werden muss??

gruss
pelle



Antwort 4 von totalrel

Hi Pelle,

also die daten sollen nicht in eine neue tabelle angefügt werden, sondern in dieselbe tabelle. ich kann die zu kopierenden daten auslesen und in die selbe tabelle einfügen über rs.AddNew usw. mit rs.Move 0, rs.LastModified bekomme ich dann den neuen datensatz zeiger (der neu erstellte autowert = referenz zu den folgenden datensätzen in der untertabelle), den ich dann wiederum für die kopierten datensätze in der untertabelle benötige. was ist aber nun, wenn ich in einer mehrbenutzerubgebung bin und es zufällig zur gleichen zeit auf einen anderen datensatz ebenfalls ein bookmark auf rs.LastModified gibt, d.h. ein anderer bentuzer hat einen datensatz bearbeitet. dann würde ich über diese methode nicht mehr an den richten autowert-datensatzzeiger kommen. der autowert bildet für die verknüften tabellen wiederum eine referenz auf den eltern-datensatz usw.

mir fällt für dieses problem einfach keine richtig passende lösung ein, selbst ein sql-statement gibt's da nicht.

ich versuche dir morgen dennoch ein beispiel-datenbank per email zu schicken.

grüße und gute nacht,
raphael

Antwort 5 von Teddy7

Hi raphael !
Ich glaube, ich verstehe so langsam Dein Problem.
Du hast als gemeinsamen Schlüssel einen Autowert - sehe ich das richtig ?
Das solltest Du schnellstens ändern, weil es sich um ein sehr labiles Gleichgewicht handelt.
Aber das merkst Du ja jetzt selbst bei Deinen Kopier-Überlegungen.
Du solltest vielleicht in der abhängigen Tabelle (2) den Autowert der führenden Tabelle (1) als Wert mitspeichern, aber als Primärschlüssel der Tabelle 2 einen eigenen Autowert führen.
Dann hast Du auch kein Problem mehr beim Kopieren, weil Du nur noch bei einer Tabelle den neuen Autowert ermitteln und weiterreichen mußt.
Ich hoffe, das war jetzt nicht zu kompliziert.
Gruß
Teddy


Antwort 6 von totalrel

Hi Teddy,

danke für den tip, aber ich habe natürlich in der tabelle 2 eine spalte für den autowert der zeile selbst und eine referenzspalte bzw. verknüpfung auf die autowert-spalte der tabelle 1 gemacht.
trotzdem kann ich einen verknüpften datensatz aus tabelle 1 bis 3 nicht einfach kopieren. immerhin muß ich die referenzen auf die autowertspalte der einzelnen tabellen (parent-child) ebenfalls ändern.
stell' dir vor ich habe eine gaeb-datei (austauschformat für projekte im baubereich) zu importieren, die aus den projektinformationen selbst, den lv-positionen und zu diesen lv-positionen noch einzelnen detail-position besteht.
das ist doch nicht so einfach, oder?

hast du schon mal solch eine problem gehabt? ich weiß, daß datenbank-pros das kopieren/duplizieren von datensätzen nicht gerne sehen, dennoch muß es hier doch eine lösung geben, oder?!

ciao
raphael

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: