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.
Verwenden Sie die HasModule-Eigenschaft , um anzugeben oder zu bestimmen, ob ein Formular oder Bericht über ein Klassenmodul verfügt. Boolescher Wert mit Lese-/Schreibzugriff.
Syntax
Ausdruck verwendet werden. HasModule
expression Eine Variable, die ein Form-Objekt darstellt.
Hinweise
Die HasModule-Eigenschaft verwendet die folgenden Einstellungen.
| Einstellung | Visual Basic | Beschreibung |
|---|---|---|
| Ja | True | Das Formular oder der Bericht hat ein Klassenmodul. |
| Nein | False | (Standard) Das Formular oder der Bericht hat kein Klassenmodul. |
Wenn Sie diese Eigenschaft auf False festlegen, ist es wahrscheinlich, dass das Leistungsverhalten Ihrer Datenbank verbessert und Ihre Datenbank kleiner wird.
Die HasModule-Eigenschaft kann nur in der Formularentwurfsansicht oder in der Berichtsentwurfsansicht festgelegt werden, kann aber in allen anderen Ansichten gelesen werden.
Formulare oder Berichte, bei denen die HasModule-Eigenschaft auf Nein festgelegt ist, werden als Lightweight-Objekte betrachtet. Lightweight-Objekte sind kleiner und werden in der Regel schneller geladen und angezeigt als Objekte mit zugeordneten Klassenmodulen. In vielen Fällen muss ein Formular oder Bericht keine Ereignisprozeduren verwenden und es ist kein Klassenmodul erforderlich.
Wenn Ihre Anwendung ein Formular für die Telefonzentrale verwendet, um zu anderen Formularen zu navigieren, können Sie anstelle von Befehlsschaltflächen mit Ereignisprozeduren eine Befehlsschaltfläche mit einem Makro oder Hyperlink verwenden. Um beispielsweise das Formular "Mitarbeiter " über eine Befehlsschaltfläche auf einer Telefonzentrale zu öffnen, können Sie die HyperlinkSubAddress-Eigenschaft des Steuerelements auf "Mitarbeiter bilden" festlegen.
Lightweight-Objekte werden im Objektbrowser nicht angezeigt, und Sie können das neue Schlüsselwort (keyword) nicht verwenden, um eine neue instance des Objekts zu erstellen. Ein einfaches Formular oder Bericht kann als Unterformular oder Unterbericht verwendet werden und wird in der Sammlung "Formulare oder Berichte " angezeigt. Lightweight-Objekte unterstützen die Verwendung von Makros und öffentlichen Prozeduren, die in Standardmodulen vorhanden sind, wenn sie über das Eigenschaftenblatt des Objekts aufgerufen werden.
Microsoft Access legt die HasModule-Eigenschaft auf TRUE fest, sobald Sie versuchen, das Modul eines Objekts anzuzeigen, auch wenn dem Modul kein Code hinzugefügt wurde. Wenn Sie z. B. im Menü "Ansicht" für ein Formular in der Entwurfsansicht die Option "Code" auswählen, fügt Access dem Form-Objekt ein Klassenmodul hinzu und legt dessen HasModule-Eigenschaft auf "wahr" fest. Sie können einem Objekt auf die gleiche Weise ein Klassenmodul hinzufügen, indem Sie die HasModule-Eigenschaft im Eigenschaftenblatt eines Objekts auf Ja setzen.
Wenn Sie die HasModule-Eigenschaft mithilfe des Eigenschaftenfensters eines Objekts auf Nein oder in Visual Basic auf Falsch festlegen, löscht Access das Klassenmodul des Objekts und den ggf. darin enthaltenen Code.
Wenn Sie eine Methode des Module-Objekts verwenden oder auf die Module-Eigenschaft eines Formulars oder Berichts in der Entwurfsansicht verweisen, erstellt Access das zugeordnete Modul und legt die HasModule-Eigenschaft des Objekts auf TRUE fest. Falls Sie während der Laufzeit auf die Module-Eigenschaft eines Formulars oder Berichts verweisen und die HasModule-Eigenschaft des Objekts auf False festgelegt ist, tritt ein Fehler auf.
Objekte, die mit einer der Methoden CreateForm oder CreateReport erstellt wurden, sind standardmäßig einfache Objekte.
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.