PDA

Vollständige Version anzeigen : Eingabe aus einem Formular in 2 Tabellen speichern


Hv81
27.03.2006, 19:44
Hallo,

über ein Formular1 erstelle ich eine Tabelle1 mit zwei Spalten A und B.

In einer anderen Tabelle2 existieren unter anderem die gleichen beiden Spalten A und B.
Die anderen Spalten der Tabelle2 werden über ein anderes Formular2 eingegeben.
Ich möchte gerne erreichen, dass die Werte der Tabelle1 in der Tabelle2 automatisch übernommen werden.

Für Eure Hilfe bin ich sehr dankbar.

Viele Grüße

Henk

Leseratte
27.03.2006, 19:51
wann sollen diese Werte auch in Tabelle2 kommen? Wenn Du Formular1 bedienst, also Daten für Tabelle1 eingibst, oder sollen einfach nur die Daten der Tabelle1 an Tabelle2 angefügt werden?

Hv81
27.03.2006, 20:00
ist mir eigentlich gleich. hauptsache, wenn ich formular 1 schließe und ich zu formular 2 wechsel, sind die daten in formular2 zu sehen.

gruß

Henk

Leseratte
27.03.2006, 20:30
daraus schließe ich mal, die Daten sollen einfach an die Tabelle2 angefügt werden, wäre noch zu klären, gibst Du nur einen oder mehrere Datensätze in Formular1 gleichzeitig ein?

rapunzel
27.03.2006, 20:33
Hallo Henk,
das widerspricht aber jeglicher Form der Relationalität, da so Redunanzen vorliegen.
Beschreib doch mal, warum Du in 2 Tabellen die gleichen Werte stehen haben willst?

Hv81
27.03.2006, 20:44
@leseratte: eigentlich nur einen, aber es muss auch möglich sein, mehrere einzugeben

@rapunzel: also die tabelle2 enthält unter anderem die gleichen daten wie die tabelle1. ich möchte mir nur bei der eingabe der daten über formular2 arbeit ersparen. dort sollen die daten aus formular1 bzw tabelle1 dann schon stehen. so muss ich nur noch die ergänzenden einträge machen.

ich habs schön über eine anfügeabfrage probiert. bekomme dann aber schlüsselverletzungen

gruß

henk

Leseratte
27.03.2006, 20:56
also das macht nun wirklich keinen Sinn, SORRY aber deine Datenstruktur ist nicht grad die beste, ich würde sagen sie ist Müll.
Du hast 2 Tabellen, beide wollen mit Daten gefüllt werden, und Du nutzt dafür 2 Formulare. In Tabelle1 kommen Werte vor, welche in Tabelle2 auch genutzt werden, hier kommt doch gleich die ROTE LAMPE (Normalisierung). Erstell Tabelle1 mit den Daten die für Tabelle1 wichtig sind, erstelle eine Tabelle2, mit den Daten die für diese wichtig sind, und erstelle eine Tabelle3, welche die Daten aufnimmt, die in beiden vorkommen werden. Dann stellst Du Beziehungen zwischen den Tabellen her. Dann machst Du eine Abfrage, welche die relevanten Daten aus Tabelle1;Tabelle2 und Tabelle3 enthält. Dann ein Formular, welches als Datensatzherkunft diese Abfrage nimmt, damit dast Du in einem Rutsch alle Daten in den Tabellen gespeichert.

rapunzel
27.03.2006, 21:12
ich würde sagen sie ist Müll. - ohne Dich maßregeln zu wollen, aber muß das sein? Daß das Datenmodell nicht paßt, hat man ja schon aus dem ersten Post herauslesen können. Henk weiß es halt nicht besser, jeder hat mal angefangen und dabei Schrott produziert. Aus Fehlern lernt man.

@Henk: Versuch mal den Ansatz von Leseratte umzusetzen, die Abfragen mußt Du nicht unbedingt dazwischen schalten, es sei denn, Du möchtest Berechnungen ausführen. Wenn Du nicht weiterkommst, einfach wieder fragen ;)

Leseratte
27.03.2006, 21:19
nein nein rapunzel, ich wollte ihm nicht zu nahe treten, sollte das so angekommen sein Hv81, entschuldige ich mich dafür natürlich. Ich wollte damit lediglich aufzeigen, das er es nicht nach den Regeln macht, klar haben wir alle mal angefangen. Ich bot und biete meine Hilfe ja grad deswegen hier wie viele andere an, aber "haben wir alle nicht durch solche Aussagen unsere Fehler bemerkt? :grins: "

racoon0506
28.03.2006, 09:04
"haben wir alle nicht durch solche Aussagen unsere Fehler bemerkt? "
nicht wirklich....
Es ist hilfreich, wenn man einen besseren Weg aufgezeigt bekommt. Leider liegen uns derzeit zu wenig Hintergrundinfos vor, um die Aufteilung der Tabellen genau zu beurteilen. Dass die Doppelspeicherung von Daten in zwei Tabellen der Normalisierung widerspricht, sollte mittlerweile klar sein. Aber man kann noch nicht sagen, dass eine dritte Tabelle zur Verbindung zwischen den beiden vorhandenen benötigt wird.
Es kann z.B. auch ausreichen, wenn in der Tabelle2 als Fremdschlüssel die ID des entsprechenden DS aus Tabelle1 eingetragen wird (anstelle der dort vorhandenen Werte). Das klappt aber nur solange, wie eine 1:1-Beziehung zwischen den Tabellen ausreicht.

Hv81
28.03.2006, 13:15
hallo,

erstmal danke an alle, die versucht haben mir zu helfen.
sicherlich scheint die datenstruktur auf den ersten blick nicht die beste zu sein.
allerdings handelt es sich bei der db nicht um eine, die aus den genannten zwei formularen und tabellen besteht. im gegenteil. sie sehr umfangreich und vor allem schon vorhanden. meine aufgabe ist das beschriebene problem zu lösen, nicht eine neue (sicherlich bessere) struktur zu entwerfen.
habe das problem aber über eine anfüge- bzw. aktualisierungsabfrage gelöst.

bis zum nächsten problem ;-)


viele grüße

Henk