Atmy workplace we have a 20 year old VBA Access application. We tried to buy the source code from the guy 10 years ago, but he didn't want anyone to call him. He died five years ago. I've been tasked to rewrite this application using SQL and .NET, but it would be nice to be able to see what is going on inside.
When I open the MBD file (while holding down SHIFT), I can see the tables and some queries. However, when I go to Visual Basic, I only see one blank project called master60, with no modules or forms visible. I can trick it a little bit by going to the performance analyzer, and on Current Database I select "VBA Project". Now, another project appears in the Project Explorer called acwztool. I can see forms and modules, but when I click on one of them, I get a "Project Locked" pop-up saying "Project is unviewable".
I tried adding a trusted location, I tried exporting all objects into a new Access database, and I tried some online suggestion of changing a value in a hex editor to unlock it. Nothing seems to work. I'm not sure what kinds of locks people can put on these databases. I'm never prompted for a password...it is just locked.
Access was and is often used as the database. But, the code and application may very well have been developed using c++, VB5, VB6, maybe even delphi (pascal). So, you might try to look at the .exe file with some kind of inspector. But, if that folder has a .exe file, then that means the application part was not written in ms-access, but in some other system - only the database looks to be access. So, even some commercial products like Simply accounting at one time used Access database, but the application was not written using access.
Maybe your lucky, and it was written in say
vb.net (I say lucky, since there are a number of de-compilers - that would in theory create/generate the source code used to create the .exe. However, if this is not a .net .exe, then things become more difficult to de-compile.
ACCDB files are the default Microsoft Access database format in Access 2007 and later. The ACCDE format is a read-only, compressed version of an Access database that hides all the Visual Basic for Applications (VBA) source code. You can convert ACCDB files to ACCDE in Access 2007 and later, including databases in Access for Microsoft 365.
If other users run Microsoft Access on their computers, you can use network file sharing in Windows; right-click the file and click Give access to > Specific people. If recipients don't have Access installed, you can provide the ACCDE file along with the link to download the Access Runtime application, which allows users to run the file on their machines.
Bereits seit der ersten Version ist Microsoft Access ist sehr erfolgreich im Markt fr 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 - untersttzt.
Ein Teil der Funktionalitt der Oberflche 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 dafr interessiert, anschauen kann, wie die Assistenten funktionieren.
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 whlt 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 Untersttzung 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 zuknftigen Version die Eigenschaften und Methoden des Objekts gendert 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 lauffhig oder muss ggfs. aufwndig angepasst werden.
Bei der Verwendung des Wizhook-Objekts ist Vorsicht geboten. Wenn Sie einen Parameter falsch bergeben kann es sein, dass Access komplett abstrzt. Auch dies ergibt sich aus der Tatsache, dass das WizHook-Objekt nicht dokumentiert ist. Die Funktionen sind nicht fr 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 Gltigkeitsbereich passen.
Es haben schon viele Programmierer das WizHook-Objekt mit seinen Eigenschaften und Methoden im Objekt-Katalog entdeckt. Beim Einsatz wurde viele jedoch enttuscht. Die Funktionen des WizHook-Objekts schienen nicht zu funktionieren. Es passierte einfach nicht.
Der Schlssel zum WizHook-Objekt ist der Key. Damit wird das WizHook-Objekt aktiviert. Der Key muss whrend einer Access-Sitzung nur einmal eingegeben werden und schon stellt das WizHook-Objekt seine Eigenschaften und Methoden whrend der gesamten Laufzeit von Access zur Verfgung.
Ich persnlich bevorzuge den dritten Weg. Der Code wird dadurch klarer und verstndlicher. Der Key wird an der Stelle gesetzt, an der er bentigt wird. Auf das (berflssige) Zurcksetzen des Keys wird verzichtet.
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 fr sich entdeckt und ebenfalls auf seiner Webseite einen ausfhrlichen Artikel dazu bereitgestellt:
Wenn man mit dem Begriff "Wizhook" bei
www.google.de eine Suche startet, dann findet man nur ca. 50 Treffer. (Stand 05/2005)
Die meisten Treffer verweisen auf Webseiten in asiatischer oder russischer Sprache. Andere Webseiten sind schlicht nicht mehr verfgbar.
Es finden sich auch einige Treffer in Forumsdiskussionen. Dabei geht es meistens darum, dass es das Wizhook-Objekt gibt. Inhaltliche Beschreibungen sind selten.
3a8082e126