Mit Bild
Mit Bild
Untertabellen
Relationale Datenbanken bestehen in weiten Teilen aus 1:n-Beziehungen zwischen Tabellen. Da liegt es auf der Hand, diese Beziehungen für den Benutzer auch transparent und einfach bedienbar abzubilden. Haupt- und Unterformulare, welche zudem schnell und übersichtlich erzeugt werden können, sind die geeignete Technik dafür.
Als Beispiel sollen hier Teile der Nordwind-Datenbank dienen, die allerdings etwas modifiziert wurden, was den Kunden betrifft. Da sowohl der Name der Kontaktperson als auch die Adresse im Nordwind-Original direkt in der Kunden-Tabelle enthalten waren, konnte dort jeweils nur ein Wert gespeichert sein. Mehrere Kontaktpersonen oder mehrere Adressen (Rechnungs-, Lieferungs-, Postadresse) waren grundsätzlich unmöglich. Das entspricht nicht den üblichen Anforderungen im wirklichen Leben.
Mit Bild
Daten schützen
Das Problem besteht also sowohl in der allzu leichten und versehentlichen Veränderbarkeit der angezeigten Stammdaten als auch in der wenig intuitiven Suche. Daher muss die Lösung grundsätzlich im Typ des Hauptformulars ansetzen.
Am besten kennt es gar keine Daten, dann kann es diese auch nicht beschädigen. Erstellen Sie also ein leeres Formular im Entwurf und ohne Datenquelle. Damit auch optisch nicht der leiseste Verdacht einer Datenbindung aufkommt, stellen Sie ein paar Eigenschaften um:
Mit Bild
Unterformular-Wechsel per VBA
Die Datenstruktur dieser Datenbank hat an tblKunden als Master-Tabelle insgesamt drei Detail-Tabellen als 1:n-Verknüpfung gebunden. Zu jedem markierten Kunden hätten Sie also drei verschiedene Unterformulare anzuzeigen.
Das ist weniger technisch als vor allem platzmäßig ein Problem. Entfernen Sie daher auf dem Hauptformular das Unterformular und fügen ein Registersteuerelement (engl. multipage) ein.
Mit Bild
Mehrere Unterformulare
Eigentlich könnten wir jetzt zufrieden sein, denn alles funktioniert einwandfrei. Die folgenden Änderungen sind daher eher das Sahnehäubchen, denn es bleiben noch zwei Probleme:
Wie Sie beim Zurechtschieben der Unterformulare sicherlich schon gemerkt haben, ist es recht schwierig, diese auf allen Seiten gleich zu positionieren. Wenn Sie das aber nicht machen, springen sie optisch beim Umschalten.
Eine zweite Schwierigkeit taucht erst bei vielen Datensätzen auf: Beim Laden des Hauptformulars werden zwangsläufig auch alle Unterformulare mit ihren Daten geladen. Je mehr Daten oder je mehr Unterformulare Sie haben, desto langsamer kann das werden.