window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Mehrere Formularinstanzen anzeigen

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Die Datensätze einer Tabelle zeigen Sie meist in einer übersicht wie einem Datenblatt oder einem Listenfeld an. Für die Bearbeitung öffnen Sie den gewünschten Datensatz in einem Detailformular, das die Felder der Tabelle übersichtlich anzeigt. Was aber, wenn Sie einmal mehr als einen Datensatz in der Detailansicht betrachten oder bearbeiten möchten In diesem Fall hilft die Lösung aus dem vorliegenden Artikel weiter. Wir zeigen Ihnen, wie Sie mehrere Instanzen des gleichen Formulars mit verschiedenen Datensätzen öffnen.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1405_MehrereFormularinstanzen.mdb.

Hintergrund

Es kann verschiedene Gründe geben, einmal mehr als einen Datensatz im Detail anzuzeigen. Vielleicht möchten Sie beispielsweise einfach einmal die Daten zweier oder mehrerer Datensätze vergleichen oder diese sogar aneinander anpassen, indem Sie die Feldinhalte von einem Formular zum anderen kopieren.

Vermeintlich einfache Lösung

Der einfachste Weg, mehrere Datensätze gleichzeitig anzuzeigen, ist die Erstellung einiger entsprechender Formulare. Diese erhalten dann unterschiedliche Namen wie etwa frmArtikel_1, frmArtikel_2, frmArtikel_3 et cetera. Dies hat aber gleich mehrere Nachteil: Erstens müssen Sie beim öffnen der Formulare aufpassen, welches schon geöffnet ist, welches der Benutzer vielleicht wieder geschlossen hat und vor allen, welcher Datensatz in welchem Formular angezeigt wird. Der zweite Nachteil ist, dass mehrere gleiche Objekte immer auch einen höheren Wartungsaufwand mit sich bringen: Sollten Sie also etwa vier gleiche Formulare verwenden, müssen Sie eine änderung entweder immer gleich an allen vier Formularen durchführen oder die mit einem Formular erledigen und die übrigen Formulare löschen und durch die neue Version ersetzen. Der dritte Nachteil ist, dass Sie immer nur eine begrenzte Anzahl von Formularen verwenden können. Gut, dieser Nachteil fällt nicht allzusehr ins Gewicht, denn ab einer bestimmten Anzahl verliert man ja auch den überblick. Das Fazit lautet jedenfalls: Wir suchen eine bessere Lösung.

Bessere Lösung

Unser Ansatz sieht so aus, dass wir nur ein Detailformular erstellen und dieses zur Anzeige verschiedener Datensätze mehrfach öffnen. Darin steckt, wie Sie sich vorstellen können, etwas mehr Hirnschmalz und außerdem gehören dazu einige Spezialkenntnisse, die Ihnen der vorliegende Artikel vermitteln wird.

Wir erstellen zunächst ein übersichtsformular frmArtikelUebersicht, dass die Datensätze in einem Unterformular in der Datenblattansicht anzeigt. Der Benutzer soll nun einen der Datensätze markieren und diesen durch einen Klick auf eine Schaltfläche in einem Detailformular öffnen können.

Das Unterformular, dass die Datensätze der Tabelle tblArtikel in der Datenblattansicht anzeigen soll, heißt sfmArtikeluebersicht und sieht wie in Bild 1 aus. Stellen Sie die Tabelle tblArtikel als Datenherkunft des Formulars ein und ziehen Sie alle Felder aus der Feldliste in den Formularentwurf. Legen Sie außerdem für die Eigenschaft Standardansicht den Wert Datenblatt fest.

Unterformular mit Artikeln

Bild 1: Unterformular mit Artikeln

Nun erstellen Sie das Hauptformular frmArtikeluebersicht und ziehen das Unterformular, nachdem Sie es gespeichert und geschlossen haben, aus dem Navigationsbereich in die Entwurfsansicht des Hauptformulars. Fügen Sie dem Hauptformular außerdem eine Schaltfläche namens cmdArtikelAnzeigen mit der Beschriftung Artikel anzeigen hinzu. Das Hauptformular sieht dann wie in Bild 2 aus.

Haupt- und Unterformular zur Auswahl der Detailansichten

Bild 2: Haupt- und Unterformular zur Auswahl der Detailansichten

Detailformular erstellen

Nun benötigen wir noch das Detailformular namens frmArtikeldetails, von dem wir später mehrere Instanzen anzeigen möchten. Dieses füllen Sie ebenfalls mit der Tabelle tblArtikel als Datenherkunft. Ziehen Sie auch hier alle Felder der Datenherkunft in den Detailbereich der Entwurfsansicht. Allerdings dürfen Sie hier ein etwas ordentlicher bei der Anordnung sein, denn die Felder sollen ja nicht in der Datenblattansicht erscheinen, sondern so, wie diese auch im Entwurf aussehen – also wie in Bild 3.

Entwurf des Detailformulars

Bild 3: Entwurf des Detailformulars

Dort haben wir den Artikelnamen nochmals an oberster Stelle im Formularkopf untergebracht, damit der Benutzer direkt sieht, um welchen Artikel es sich handelt. Stellen Sie die Eigenschaften Navigationsschaltflächen, Bildlaufleisten und Datensatzmarkierer jeweils auf den Wert Nein ein, damit das Formular wie in Bild 4 aussieht.

Das Detailformular in der Formularansicht

Bild 4: Das Detailformular in der Formularansicht

Herkömmlicher Aufruf

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

Schreibe einen Kommentar