Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Manchmal ist es sinnvoll, mehr als eine Instanz eines Formulars anzuzeigen. So möchten Sie z. B. die Datensätze für einen Angestellten und seinen Vorgesetzten gleichzeitig anzeigen. Dabei können Sie eine Instanz des Formulars Employees zur Anzeige des Angestelltendatensatzes und eine Instanz zur Anzeige des Vorgesetztendatensatzes erstellen.
Wenn Sie eine neue Instanz eines Formulars oder einer Berichtsklasse erstellen, verfügt die neue Instanz über alle Eigenschaften und Methoden eines Form- oder Report-Objekts , und seine Eigenschaften sind auf die gleichen Werte wie im ursprünglichen Form- oder Report-Objekt festgelegt. Darüber hinaus verhalten sich alle Prozeduren, die Sie im Formular- oder Berichtsklassenmodul geschrieben haben, wie Methoden und Eigenschaften der neuen Instanz.
Um eine neue Instanz einer Formular- oder Berichtsklasse zu erstellen, deklarieren Sie eine neue Objektvariable, indem Sie das Shell-Schlüsselwort und den Namen des Klassenmoduls des Formulars oder Berichts verwenden. Der Name des Klassenmoduls wird in der Titelleiste des Moduls angezeigt. Sie gibt an, ob die Klasse einem Formular oder einem Bericht zugeordnet ist, und enthält den Namen des Formulars oder Berichts. Beispielsweise ist der Klassenname für ein Employee-Formular Form_Employees. Mit der folgenden Codezeile wird eine neue Instanz des Formulars Employees erstellt:
Dim frmInstance As New Form_Employees
Wenn Sie mehrere Instanzen einer Employees-Fomularklasse erstellen, können Sie Informationen über einen Mitarbeiter in einer Formularinstanz und über einen anderen Mitarbeiter in einer anderen Formularinstanz anzeigen.
Hinweis
Wenn Sie eine Instanz einer Formularklasse mithilfe des New-Schlüsselworts erstellen, ist diese ausgeblendet. Legen Sie zum Anzeigen des Formulars die Visible-Eigenschaft auf True fest.
Sie sollten die Variable deklarieren, die die neue Instanz einer Formularklasse auf Modulebene darstellt. Wenn Sie die Variable auf Prozedurebene deklarieren, wird die Variable außerhalb des Gültigkeitsbereichs verschoben, wenn die Ausführung der Prozedur abgeschlossen ist, und die neue Instanz wird aus dem Arbeitsspeicher entfernt. Die Instanz ist nur so lange im Arbeitsspeicher vorhanden, wie die Variable, der sie zugewiesen ist, im Gültigkeitsbereich verbleibt.
Alle Eigenschaften, die Sie festlegen, wirken sich auf diese Instanz der Formularklasse aus, werden jedoch nicht mit dem Formular gespeichert. Eine neue Instanz der Formularklasse kann nicht erstellt werden, wenn das Formular in der Entwurfsansicht geöffnet wird.
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.