|
|
Wizhook-ObjektWizHook-Objekt
Inhaltsübersicht:
Bereits seit der ersten Version ist Microsoft Access ist sehr erfolgreich im Markt für Desktop-Datenbanken. Ein wesentlicher Faktor dieses Erfolges ist es, dass auch unerfahrene Anwender sehr schnell ein ansprechendes Ergebnis erzielen. Dabei wird der Anwender von Assistenten - so genannten Wizards - unterstützt. Ein Teil der Funktionalität der Oberfläche von Access findet sich in den Dateien "utility.mda", "acwzdat.mdt", "acwzusr.mdt", "acwzlib.mde", "acwzmain.mde" und "acwztool.mde". Diese hat Microsoft zum Teil freigegeben so dass jeder, der sich dafür interessiert, anschauen kann, wie die Assistenten funktionieren. Ein anderer Teil der Funktionalität der Oberfläche von Access findet sich im Wizhook-Objekt. Dieses Objekt stellt einiges an Basisfunktionalität bereit und ist nicht dokumentiert (siehe unten).
Um an das WizHook-Objekt mit seinen Eigenschaften und Methoden heranzukommen muss man in den VBA-Editor wechseln. Als nächstes muss der Objektkatalog aktiviert werden. Dazu verwendet man den Befehl "Ansicht" / "Objektkatalog". Als Shortcut kann man auch die F2-Taste verwenden. Im Objektkatalog werden alle Objekte mit ihren Eigenschaften und Methoden dargestellt. Ein Objekt mit dem Namen "WizHook" ist aber nicht zu finden. Um das WizHook-Objekt sichtbar zu machen muss man die verborgenen Elemente anzeigen. Dazu klickt man mit der rechten Maustaste irgendwo, wo man keine Auswahl trifft. Aus dem Kontextmenü wählt man "Verborgene Elemente anzeigen". Jetzt werden die versteckten Objekte eingeblendet. Ganz am Ende der Liste findet sich auch das WizHook-Objekt.
Beim Einsatz des WizHook-Objekts und seiner Funktionen ist zu beachten, dass das WizHook-Objekt nicht offiziell dokumentiert ist. Das bedeutet, dass es keine Unterstützung von Seiten von Microsoft gibt. Sie finden keine offizielle Dokumentation. Auch eine Hilfe zum WizHook-Objekt gibt es nicht. (Deshalb gibt es ja dieses Dokument ;-)) Aus dem Umstand, das Microsoft das WizHook-Objekt nicht dokumentiert hat, ergibt sich das Risiko, dass in einer zukünftigen Version die Eigenschaften und Methoden des Objekts geändert werden. Es kann auch passieren, dass eine Eigenschaft oder Methode nicht mehr implementiert ist. Der von Ihnen erstellte Code ist dann u. U. nicht mehr lauffähig oder muss ggfs. aufwändig angepasst werden. Bei der Verwendung des Wizhook-Objekts ist Vorsicht geboten. Wenn Sie einen Parameter falsch übergeben kann es sein, dass Access komplett abstürzt. Auch dies ergibt sich aus der Tatsache, dass das WizHook-Objekt nicht dokumentiert ist. Die Funktionen sind nicht für die Allgemeinheit implementiert worden. Vielmehr wird davon ausgegangen, dass der Programmierer weiß, was er tut. Trotz all dieser Risiken erscheinen manche Funktionen sehr reizvoll. Man muss sich dieser Risiken bei der Verwendung des WizHook-Objekts bewusst sein. Auf jeden Fall sollte man durch geeigneten Code sicherstellen, dass die übergebenen Parameter in den jeweiligen Gültigkeitsbereich passen. Abschliessend möchte ich nochmals betonen: Der Einsatz erfolgt auf eigenes Risiko.
Es haben schon viele Programmierer das WizHook-Objekt mit seinen Eigenschaften und Methoden im Objekt-Katalog entdeckt. Beim Einsatz wurde viele jedoch enttäuscht. Die Funktionen des WizHook-Objekts schienen nicht zu funktionieren. Es passierte einfach nicht. Der Schlüssel zum WizHook-Objekt ist der Key. Damit wird das WizHook-Objekt aktiviert. Der Key muss während einer Access-Sitzung nur einmal eingegeben werden und schon stellt das WizHook-Objekt seine Eigenschaften und Methoden während der gesamten Laufzeit von Access zur Verfügung. Der Wert, der der Eigenschaft "Key" übergeben werden muss, lautet: 51488399. Es gibt verschiedene Strategien, um den Key zu setzen:
Ich persönlich bevorzuge den dritten Weg. Der Code wird dadurch klarer und verständlicher. Der Key wird an der Stelle gesetzt, an der er benötigt wird. Auf das (überflüssige) Zurücksetzen des Keys wird verzichtet.
* Es ist mir bisher noch nicht gelungen, diese Funktionen zu dokumentieren.
Dieses Dokument lebt. Es ist Stück für Stück entstanden - und es ist sicher noch nicht vollständig. Anregungen und Ergänzungen zu diesem Dokument sind immer willkommen. Am besten senden Sie mir ein E-Mail. Auf diesem Weg kann das Wissen um das WizHook-Objekt in Access nach und nach ergänzt und vervollständigt werden.
Die bisherige Dokumentation zum Wizhook-Objekt basiert auf meinen Recherchen aus den Jahren 2005 und 2006. Im Herbst 2022 hat mich Colin Riddington angesprochen. Colin hat das Wizhook-Objekt für sich entdeckt und ebenfalls auf seiner Webseite einen ausführlichen Artikel dazu bereitgestellt: Im Rahmen seiner Recherchen und seiner Arbeit hat er die hier veröffentliche Beispieldatenbank gefunden und angefragt, ob er diese überarbeiten darf. Eine deutlich modernere Version ist seither auf Colins Seiten zu finden. Sie können diese Datenbank aber auch gleich hier herunterladen: Beispieldatenbank (accdb)
Wenn man mit dem Begriff "Wizhook" bei www.google.de eine Suche startet, dann findet man nur ca. 50 Treffer. (Stand 05/2005) Hier ist eine Liste mit meinen bevorzugten Links:
|
02.10.2020: 06.11.2019: 06.05.2017: 27.03.2016: 23.05.2014: |
|
|