Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Wie Sie Haupt- und Unterformulare zur Darstellung und Bearbeitung von Daten aus Tabellen mit 1:n-Beziehung erstellen, lesen Sie in jedem Grundlagenbuch und auf jeder halbwegs relevanten Internetseite zum Thema Access. Dass der Benutzer bei der Dateneingabe jedoch leicht auf die Nase fallen kann, lassen die meisten außer acht: Wer nämlich ohne Datensatz im Hauptformular Daten in das Unterformular eingibt, schickt seine Datensätze ins Beziehungsnirvana. Dieser Artikel zeigt, wie Sie dies verhindern.
Beispieldatenbank
Die Beispieldatenbank zu diesem Artikel heißt 11_08_DatensaetzeInUnterformularen.mdb.
Problem beim Eingeben von Daten in Unterformularen
Wenn Sie zwei Tabellen namens tblKunden und tblProjekte verwenden, bei der die Datensätze der Tabelle tblProjekte über das Fremdschlüsselfeld KundeID mit dem Primärschlüsselfeld der Tabelle tblKunden verknüpft sind, sieht die Vorgehensweise zum Anzeigen dieser Daten in zwei Formularen namens frmKunden und sfmProjekte so aus:
- Sie legen ein Hauptformular namens frmKunden an, dass auf einer Tabelle wie tblKunden als Datenherkunft basiert und deren Felder anzeigt.
- Sie erstellen ein Formular namens sfmProjekte, dass die Tabelle tblProjekte als Datenherkunft nutzt.
- Sie fügen das Formular sfmProjekte als Unterformular in das Hauptforular frmKunden ein. Dabei stellt Access normalerweise direkt die beiden Eigenschaften Verknüpfen von und Verknüpfen nach des Unterformularsteuerelements so ein, dass das Unterformular nur die Projekte zum jeweiligen Kunden des Hauptformulars anzeigt (siehe Bild 1). Beim Anlegen neuer Projekte im Unterformular wird das Fremdschlüsselfeld KundeID der Tabelle tblProjekte gleich mit dem Primärschlüsselwert des Datensatzes gefüllt, der im Hauptformular angezeigt wird.
Bild 1: Normalerweise zeigt das Unterformular die verknüpften Datensätze an.
Dies reicht auch normalerweise völlig aus, um verknüpfte Daten per Haupt- und Unterformular einzugeben. Dummerweise aber kann es auch passieren, dass der Benutzer erst ein Projekt einträgt und erst dann die Kundendaten. Dazu springt er zunächst auf einen leeren Kundendatensatz (oder er arbeitet mit einer neuen, leeren Datenbank – dann gibt es ohnehin noch keinen Kundendatensatz). Er trägt im Unterformular das Projekt ein (siehe Bild 2), wechselt dann zum Hauptformular und legt einen Kunden an. Das sieht auf den ersten Blick sogar noch gut aus. Sobald Access jedoch merkt, dass da ein neuer Datensatz angelegt werden soll (in der Regel direkt nach der Eingabe des ersten Zeichens), verschwindet der Projektdatensatz aus dem Unterformular! Was geschieht hier Nun: Durch das Einstellen der beiden Eigenschaften Verknüpfen von und Verknüpfen nach des Unterformular-Steuerelements legen Sie zwei Dinge fest:
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo