Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

MS-Access Datensatz in "Parent-Tabelle" hinzufügen bei 1:n Beziehung





Frage

Hallo bin ein ziemlicher Newbie bei MS Access, bin zwar brav am Handbuch lesen, werd aber leider nicht schlauer. Hab eine Tabelle mit Behandlungsdaten von Patienten. Für die behandelnde Einrichtung hab ich eine zweite Tabelle gemacht, so dass wenn sich mal davon der Name ändert eine sauberer Änderung möglich ist. Die beiden Tabellen stehen eben in Beziehung. Jetzt hab ich ein Formular gemacht wo ich die Daten eingebe, die wichtigsten Behandlungseinrichtungen hab ich im Vorfeld in der Tabelle eingetippst. Waren die Patienten in dieser Einrichtung kein Problem, Auswahl übers Drop-Down-Feld. Gibts die Einrichtung noch nicht, würd ich aber gern einfach die neue ins Combo-Feld eingeben, und den Datensatz dadurch in die Parenttabelle einfügen. Geb ich aber einen neuen Namen ein gibts nur die Meldung geht nicht, wegen der Beziehung und das eben nicht in der Parenttabelle drinnen ist. Bitte kann mir wer helfen!!!!

Antwort 1 von TomKelly

Hallo k3067e3

Am besten wertest Du das Ereignis "Bei Nicht in Liste" des Dropdown-Feldes aus, und verwendest den Code-Generator .
Sieh Dir dazu die Microsoft Visual Basic-Hilfe an, da sind fertige Beispiele drin.

Gruss TomKelly

Antwort 2 von hikE

zweite Variante ist folgender Workaround:

wenn das unbedingt in einem Formular zu bearbeiten sein muss:
das einzugebende Feld direkt aus der "Behandlungseinrichtungen" Tabelle ein zweites Mal ins Formular ziehen.

Dann hast Du einmal das Combo-Feld für die Vorauswahl und daneben das Feld direkt aus der Tabelle zur Eingabe neuer Einträge.

wenn du also merkst, "Behandlungseinrichtungen" gibts noch nicht , 1x Escape (und zwar NUR einmal!) drücken und den gewünschten Wert ins Tabellenfeld reinschreiben.

Wenn du nach diesem Eintrag auf Menü: Daten / Anzeige aktualisieren klickst, steht der Eintrag ab sofort auch im Combofeld zur Verfügung.

Wichtig: das mit dem Escape drücken ist n bisschen kritisch, denn wenn du zweimal drückst ist der ganze neue Datensatz weg. Diese Lösung ist also nicht geeignet wenn mit der Datenbank noch jemand anders als du selbst Daten erfassen sollst.
----------------------------
Dritte Drumherum-Variante (bevorzuge ich mittlerweile - für Eingaben ab 300 DS/Tag): Formular auf, im Hintergrund Originaltabelle auf. In der Originaltabelle einige Leer-Einträge vorsehen, wo z.B. nur ein Unterstrich _ oder eine Zahl drin steht. Wenn ein Eintrag nicht existiert, in Formular / Combofeld _ eingeben, anschliessend den _ - Eintrag in der Originaltabelle auf den gewünschten Namen umschreiben.
----------------------------
Vielleicht helfen Dir diese Tipps weiter, vielleicht liest aber auch jemand mit, der meine "Variante 2" mit dem Escape-Drücken ungefährlicher gestalten kann.

Gruss HikE