Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

16.2.3 Öffnen mehrerer Instanzen eines Formulars

16.2.4 Formularinstanz-Sammlung

Das Zauberwort für die Verwaltung mehrerer Instanzen von Objekten der gleichen Klasse heißt Collection. Eine VBA-Collection kann Objekte beliebigen Typs aufnehmen, also auch verschiedene Instanzen eines Formulars. Statt der einsamen Objektvariablen frm zum Speichern einer einzigen Instanz, verwenden Sie nun eine Collection, die Sie folgendermaßen deklarieren:

Dim colForms As Collection

Bevor Sie Formular-Objekte in dieser Collection speichern können, müssen Sie diese zunächst instanzieren. Das ginge theoretisch, indem Sie der obigen Deklaration einfach das Schlüsselwort New hinzufügen:

Dim colForms As New Collection

Programmiertechnisch sauberer ist allerdings die Aufteilung der Deklaration und der Instanzierung. Bei global per New deklarierten Objekten haben Sie weniger Kontrolle darüber, ob sie schon instanziert sind, da dies nicht - wie viele glauben - direkt in der mit New ausgerüsteten Zeile erfolgt, sondern erst beim ersten Zugriff auf eine Methode oder Eigenschaft der Klasse. Ein besserer Ansatz wäre, Letzteres in der Ereignisprozedur durchzuführen, die beim Öffnen des Formulars ausgelöst wird:

Private Sub Form_Open(Cancel As Integer)

    Set colForms = New Collection

End Sub

Listing 16.23: Instanzieren der Collection beim Öffnen des Formulars

Nächster Abschnitt:

16.2.5 Neue Formularinstanz erzeugen und zur Collection hinzufügen

© 2006-2008 André Minhorst Alle Rechte vorbehalten.