Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datensatzspeicherung verschiedener Formulare





Frage

Ich habe eine Datenbank angelegt, bei der es als Hauptformular ein Formular namens Deckblatt gibt. In diesem gibt es die Möglichkeit Daten einzugeben, wie Namen, Datum usw.. Desweiteren gibt es in diesem Formular Schaltflächen über welche man in andere Formulare gelangt, in denen es wiederum möglich aber nicht zwingend sein soll Daten einzugeben. Die Daten aus den Unterformularen sollen aber eindeutig zu den Daten zugeordnet sein die ich Hauptformular eingegeben habe. Ich möchte also wenn ich in den Datensätzen des Hauptformulars blättere, und dann auf eine Schaltfläche für ein Unterformular klicke den passenden Datensatz im Unterformular angezeigt bekommen. Auch sollen die Daten in den Unterformularen mit abgespeichert werden, wenn ich einen Datensatz des Hauptformulars speichere. Vielen Dank im Vorraus

Antwort 1 von hikE

wow...

das sind ja gleich 12 Fragen auf einmal.

1. Der Unterdatensatz wird automatisch abgespeichert wenn das Formular verlassen wird. Das ist so bei Datenbanken. Sollte genau das nicht passieren, solltest du schauen, ob die dem Formular zugrundeliegende Abfrage nicht einen Defekt hat. Oder ob du nicht versuchst, einen einzigen Datensatz in einer Riesentabelle mit zwei verschiedenen Formularen gleichzeitig zu bearbeiten, wodurch die Datenbank sich selber aussuchen darf, welche der Änderungen gespeichert wird und welche verworfen...

2. gibts auch in Access (andere DBs kenn ich nicht persoenlich) die Moeglichkeit manuell zu speichern. STRG + S. Wenn selbst damit neu eingegebene Daten nicht zuverlässig gespeichert werden, ist in der unter dem Formular befindlichen Struktur ein Bock.

3. kann man Speichern erzwingen ueber Makros oder ueber entsprechende Anweisungen, die man z.B. Befehlsschaltflächen unterlegen kann (zB einem "Schliessen" Button des zusaetzlichen Formulars). Hierzu die Hilfefunktion der Datenbank nutzen, wie diese Anweisungen genau heissen (Save & Exit, Speichern & Schliessen etc).

4. wenns dir nun drum geht, dass die dort oben beschriebene _Datenbankstruktur_ mit den Formularen noch gar nicht funktioniert, wuerd ich sagen, verschieb die Frage nach dem Speichern einfach, bis das folgende geklaert ist:

"Die Daten aus den Unterformularen sollen aber eindeutig zu den Daten zugeordnet sein die ich Hauptformular eingegeben habe"

=> das klingt n nach einem Wunsch, nicht nach einer existenten Tatsache.
=> Das Zuordnen der Daten zueinander ist eine Frage von Verknüpfungen zwischen Feldern der verschiedenen Tabellen, am besten zwischen unverwechselbaren und immer nur einmal vorkommenden Feldern. (AutoWert und Zahl (Long Integer) bieten sich bei Access an)

Wenn du nur eine einzige Riesentabelle verwendest, dann wirst du allerdings in mehreren Formularen Probleme mit dem Speichern bekommen, siehe Anmerkung unter 1.

Hope this helps ein wenig, das Problem zu sortieren

Gruss HikE

Antwort 2 von georgsland

Hallo HikE,

danke für deine Antwort. Meine Formulare basieren nicht auf Abfragen sondern auf Tabellen, sollte ich das ändern? Und das wirkliche dringende Problem ist ja das die Formulare (z.B. Nr.100) in die man über das Hauptformular gelangt nicht unbedingt ausgefüllt werden müssen, aber dann trotzdem so leer als zu dem Datensatz im Hauptformular (auch wieder der 100.) zugehörig sein müssen. Das Speichern unabhängig von einer Datensatzspeicherung hatte ich bereits über ein Speichern- und ein Schließen Makro gelöst. Also die hoffe ich alles klärende Antwort wäre wie ich meine Tabelle bzw. Formulare (bzw noch neu zu erstellende Abfragen) in Beziehung stellen und sie verknüpfen muss.

Antwort 3 von hikE

Aloha,

als erstes schliesst du alle Formulare, so dass nur die Datenbank selbst offen ist (also dieses Ding wo oben die Reiter "Tabellen" "Abfragen" etc sind.

Dann gehst du über "Extras" "Beziehungen" (so isses zumindest in Access97) wenn du den Punkt nicht unter Extras hast, Hilfefunktion auf und "Beziehungen" suchen.

Dort dann auch einfach weiterlesen - Access erklaert einem bei etwas Geduld sehr ausführlich was es mit den Beziehungen auf sich hat.

natuerlich sollten die Tabellen und die DS irgendwie miteinander in Beziehung stehen, damit du sie ueberhaupt gemeinsam abfragen kannst. Wenn keine Beziehungen existieren, macht Access gerne mal ne Kreuzabfrage - verknuepft also jeden Datensatz der einen Tabelle mit jedem anderen in allen Kominationen die moeglich sind. So was ist normalerweise ziemlicher Essig (und kann bei 28.000 Literaturdaten und 14.000 Musiktiteln zu ziemlicher Wartezeit fuehren).

Ob die Beziehungen ok sind, kannst du vorm Formularbau mit einer Abfrage testen, wenn diese die Daten so verbindet wie du gern hast, kannst du sie auch gleich verwenden als Datenbasis. Das Formular selbst ist dann nur noch das I-Tüpfelchen.

Gruss HikE

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


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: