{"id":55000909,"date":"2013-12-01T00:00:00","date_gmt":"2020-05-22T21:31:20","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=909"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"MSAccessexe_und_Co","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/","title":{"rendered":"MSAccess.exe und Co."},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg05.met.vgwort.de\/na\/85c61cfd20fb4dd48d9923403dd49e09\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Access besteht nicht nur aus einer einzigen Anwendungsdatei, sondern auch noch aus einer Reihe weiterer wichtiger Dateien wie etwa den Bibliotheken VBA, DAO oder ADODB oder Add-In-Datenbanken, die Funktionen zu Access hinzuf&uuml;gen. In diesem Beitrag sehen wir uns diese Dateien an und schauen, welche Informationen sich aus diesen gewinnen lassen. Au&szlig;erdem gibt es eine Reihe VBA-Funktionen, mit denen Sie beispielsweise die Speicherorte dieser Dateien ermitteln k&ouml;nnen.<\/b><\/p>\n<p><b>MSAccess.exe<\/b><\/p>\n<p>Die Datei <b>MSAccess.exe <\/b>wird aufgerufen, wenn der Benutzer Access startet &#8211; sei es &uuml;ber einen Eintrag im Startmen&uuml;, &uuml;ber einen zur Taskleiste hinzugef&uuml;gten Eintrag oder auch durch das Starten einer Datei mit einer entsprechenden Dateiendung wie beispielsweise <b>.mdb<\/b>, <b>.accdb <\/b>et cetera.<\/p>\n<p>Sie liegt in der Version Access 2010, 32bit unter Windows 7 im Verzeichnis <b>C:\\Program Files (x86)\\Microsoft Office\\Office14<\/b>, in anderen Versionen von Access unterscheidet sich der Name des letzten Verzeichnisses (unter Access 2013 etwa Office15).<\/p>\n<p>Wenn Sie die 64bit-Variante installieren, was nicht empfehlenswert ist (hier werden beispielsweise keine der ActiveX-Steuerelemente der Bibliothek <b>MSCOMCTL.ocx <\/b>unterst&uuml;tzt), landet diese im Verzeichnis <b>C:\\Program Files\\Microsoft Office\\Office14<\/b>.<\/p>\n<p><b>MSAccess.exe suchen<\/b><\/p>\n<p>Wenn Sie die Datei <b>MSAccess.exe <\/b>nicht finden, k&ouml;nnen Sie diese mit einem VBA-Befehl ermitteln, den Sie beispielsweise im Direktbereich des VBA-Editors absetzen:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> SysCmd(acSysCmdAccessDir)\r\nC:\\Program Files (x86)\\Microsoft Office\\Office14\\<\/pre>\n<p><b>Access-Version ermitteln<\/b><\/p>\n<p>Wenn Sie schon die Funktion <b>SysCmd<\/b> nutzen, k&ouml;nnen Sie auch gleich die Version der ge&ouml;ffneten Access-Anwendung ausgeben lassen:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> SysCmd(acSysCmdAccessVer)\r\n14.0<\/pre>\n<p><b>Benutzer und Gruppen<\/b><\/p>\n<p>In fr&uuml;heren Access-Versionen (bis Access 2003) konnten Sie noch eine Access-interne Benutzer- und Gruppenverwaltung verwenden. Daher nur der Vollst&auml;ndigkeit halber hier die Funktion zum Ermitteln des Standortes der aktuell verwendeten Arbeitsgruppeninformationsdatei, die solche Informationen speicherte:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> SysCmd( acSysCmdGetWorkgroupFile)\r\nC:\\Users\\Andre\\AppData\\Roaming\\Microsoft\\Access\\System.mdw<\/pre>\n<p>Wie man sieht, gibt es diese Datei immer noch &#8211; Sie kann allerdings nicht mehr zur Sicherung der Access-Objekte und Daten genutzt werden (sicher war diese ohnehin schon l&auml;ngst nicht mehr). Wer seine Daten wirklich sichern will, verwendet ein System wie den Microsoft SQL Server oder MySQL.<\/p>\n<p><b>Runtime oder Vollversion<\/b><\/p>\n<p>F&uuml;r eine Anwendung kann es wichtig sein, neben der Version einer Access-Anwendung auch noch zu erkennen, ob es sich um die Vollversion oder um die Runtime-Version handelt. Wenn Sie beispielsweise zur Laufzeit dynamisch Formulare oder Berichte anpassen, ben&ouml;tigen Sie unbedingt die Vollversion &#8211; unter der Runtime-Version k&ouml;nnen Sie keine &auml;nderungen am Entwurf der Datenbankobjekte vornehmen. Daher kommt uns die folgende Funktion sehr gelegen:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> SysCmd(acSysCmdRuntime)\r\nFalsch<\/pre>\n<p><b>Access als Runtime starten<\/b><\/p>\n<p>Apropos Runtime: Sie m&uuml;ssen nicht die Runtime-Version von Access installieren, um den Gro&szlig;teil der Runtime-Einschr&auml;nkungen zu testen. Dazu reicht je nach Access-Version auch eine der folgenden Aktionen aus:<\/p>\n<ul>\n<li>Bis Access 2003 rufen Sie Access per Befehlszeile mit dem Parameter <b>\/runtime <\/b>auf.<\/li>\n<li>Ab Access 2007 &auml;ndern Sie die Dateiendung der Datenbankdatei von <b>.accdb <\/b>in <b>.accdr <\/b>um.<\/li>\n<\/ul>\n<p>F&uuml;r den Aufruf des Runtime-Modus &uuml;ber die Befehlszeile geben Sie erst den Pfad zur <b>MSAccess.exe<\/b>, dann den Pfad zu der zu &ouml;ffnenden Datenbankdatei und schlie&szlig;lich den Befehlszeilenparameter an:<\/p>\n<pre>\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\MSAccess.exe\" \r\n\"c:\\Daten\\Fachmagazine\\AccessImUnternehmen\\2013\\06\\\r\nAccessfunktionen\\Accessfunktionen.mdb\" \/Runtime<\/pre>\n<p>Daf&uuml;r m&uuml;ssen Sie &uuml;brigens nicht umst&auml;ndlich eine Windows-Verkn&uuml;pfung anlegen. Eine Datei mit der Dateiendung <b>.bat <\/b>(etwa <b>Start.bat<\/b>) reicht v&ouml;llig aus.<\/p>\n<p>Access erscheint dann in der f&uuml;r die Runtime &uuml;blichen spartanischen Ausstattung, die nach benutzerdefinierten Men&uuml;leisten\/Ribbons oder einem &uuml;bersichtsformular zum Aufruf der Formulare und Funktionen verlangt (s. Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_001.png\" alt=\"Start der Runtime-Version von Access\" width=\"575\" height=\"370,1149\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Start der Runtime-Version von Access<\/span><\/b><\/p>\n<p><b>Access als Administrator starten<\/b><\/p>\n<p>Wenn Sie Access mit Administratorrechten starten m&uuml;ssen, obwohl Sie aktuell nicht als Administrator angemeldet sind, k&ouml;nnen Sie dies &uuml;ber eine entsprechende Verkn&uuml;pfung oder &uuml;ber die Datei <b>MSAccess.exe <\/b>selbst erledigen.<\/p>\n<p>Klicken Sie einfach bei gedr&uuml;ckter Umschalttaste mit der rechten Maustaste auf die Datei und w&auml;hlen Sie dann den Eintrag <b>Als Administrator ausf&uuml;hren <\/b>aus dem Kontextmen&uuml; aus. Access startet nun mit Administratorrechten (s. Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_002.png\" alt=\"Access mit Administratorrechten starten\" width=\"450\" height=\"469,8\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Access mit Administratorrechten starten<\/span><\/b><\/p>\n<p><b>Access als anderer Benutzer starten<\/b><\/p>\n<p>Gelegentlich wollen Sie vielleicht testen, wie Ihre Anwendung arbeitet, wenn Sie sich unter einem anderen Windows-Konto anmelden. Dann hei&szlig;t es, den aktuellen Benutzer abmelden, sich unter dem Konto des neuen Benutzers anmelden, die Tests ausf&uuml;hren, wieder abmelden und unter dem zun&auml;chst verwendeten Konto wieder anmelden.<\/p>\n<p>Das machen Sie allerdings nur so, wenn Sie zu viel Zeit haben. Wenn Ihnen die Prozedur zu aufwendig ist, k&ouml;nnen Sie sich n&auml;mlich &uuml;ber einen weiteren Kontextmen&uuml;-Eintrag namens <b>Als anderer Benutzer ausf&uuml;hren <\/b>unter dem anderen Benutzerkonto anmelden und Access in diesem Kontext ausf&uuml;hren.<\/p>\n<p>Aber wo steckt dieser Kontextmen&uuml;-Eintrag &#8211; im Screenshot des vorherigen Beispiels ist dieser doch nicht zu finden<\/p>\n<p>Nun: Dieser Eintrag erscheint nur, wenn Sie das Kontextmen&uuml; der Datei <b>MSAccess.exe <\/b>selbst bei gedr&uuml;ckter Umschalttaste aufrufen.<\/p>\n<p>Das gelingt beispielsweise &uuml;ber das Startmen&uuml;, wenn Sie im Suchen-Feld den Begriff <b>MSAccess.exe <\/b>eingeben (s. Bild 3).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_003.png\" alt=\"MSAccess.exe &uuml;ber die Suche im Startmen&uuml; auffinden\" width=\"410\" height=\"515,742\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: MSAccess.exe &uuml;ber die Suche im Startmen&uuml; auffinden<\/span><\/b><\/p>\n<p>Alternativ navigieren Sie im Windows Explorer zu der entsprechenden Datei (s. Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_004.png\" alt=\"Starten von Access als anderer Benutzer &uuml;ber das Kontextmen&uuml; von MSAccess.exe im Windows Explorer\" width=\"430\" height=\"519,6835\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Starten von Access als anderer Benutzer &uuml;ber das Kontextmen&uuml; von MSAccess.exe im Windows Explorer<\/span><\/b><\/p>\n<p>Anschlie&szlig;end erscheint dann ein Anmeldedialog, mit dem Sie Benutzername und Kennwort des betroffenen Benutzers eingeben (s. Bild 5). Anschlie&szlig;end wird Access im Kontext dieses Benutzers gestartet.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_005.png\" alt=\"Benutzer und Kennwort zum Starten von Access eingeben\" width=\"350\" height=\"228,0182\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Benutzer und Kennwort zum Starten von Access eingeben<\/span><\/b><\/p>\n<p><b>Aktuelle Datenbankdatei<\/b><\/p>\n<p>Auch zur aktuellen Datenbankdatei k&ouml;nnen Sie per VBA eine ganze Reihe Informationen herauskitzeln.<\/p>\n<p>Die Access-Bibliothek bietet einige Informationen, aber auch die DAO-Bibliothek bietet M&ouml;glichkeiten f&uuml;r den Zugriff etwa auf den Pfad zur aktuell ge&ouml;ffneten Access-Datenbank.<\/p>\n<p>Bis mit Access 2002 das <b>CurrentProject<\/b>-Objekt eingef&uuml;hrt wurde, lieferte allein das <b>CurrentDb<\/b>-Objekt Informationen &uuml;ber die Herkunft der Datenbankdatei. Die Eigenschaft <b>Name <\/b>lieferte n&auml;mlich den kompletten Pfad der mit <b>CurrentDb <\/b>referenzierten, also der aktuell ge&ouml;ffneten Datenbankdatei:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> CurrentDb.Name\r\nC:\\Daten\\Fachmagazine\\AccessImUnternehmen\\2013\\06\\Accessfunktionen\\Accessfunktionen.mdb<\/pre>\n<p>Wer bis Access 2002 nur den Namen oder den Pfad ermitteln wollte, musste sich mit einer Hilfsfunktion begn&uuml;gen.<\/p>\n<p>Den Namen einer Datei auf Basis des kompletten Pfades liefert bekanntlich die <b>Dir<\/b>-Funktion:<\/p>\n<pre>  Dir(CurrentDb.Name)\r\nAccessfunktionen.mdb<\/pre>\n<p>Wenn man von der mit <b>CurrentDb.Name <\/b>ermittelten Zeichenkette hinten eine Zeichenkette abschneidet, deren L&auml;nge der L&auml;nge des Dateinamens entspricht, erh&auml;lt man das Verzeichnis inklusive abschlie&szlig;endem Backslash:<\/p>\n<pre>  <span style=\"color:blue;\">Left<\/span>(CurrentDb.Name,<span style=\"color:blue;\">Len<\/span>(CurrentDb.Name)-<span style=\"color:blue;\">Len<\/span>(Dir(CurrentDb.Name)))\r\nC:\\Daten\\Fachmagazine\\AccessImUnternehmen\\2013\\06\\Accessfunktionen\\<\/pre>\n<p><!--30percent--><\/p>\n<p>Seit Access 2002 erledigen Sie solche Aufgaben mit verschiedenen Eigenschaften des Objekts <b>CurrentProject<\/b>. Das Verzeichnis liefert die Eigenschaft <b>Path<\/b>:<\/p>\n<pre>  CurrentProject.Path\r\nC:\\Daten\\Fachmagazine\\AccessImUnternehmen\\2013\\06\\Accessfunktionen<\/pre>\n<p>Mit <b>Name <\/b>ermitteln Sie allein den Dateinamen:<\/p>\n<pre>  CurrentProject.Name\r\nAccessfunktionen.mdb<\/pre>\n<p>Sie k&ouml;nnen den kompletten Pfad aus beiden Eigenschaften zusammensetzen, aber auch einfach <b>FullName <\/b>nutzen:<\/p>\n<pre>  CurrentProject.FullName\r\nC:\\Daten\\Fachmagazine\\AccessImUnternehmen\\2013\\06\\Accessfunktionen\\Accessfunktionen.mdb<\/pre>\n<p>Wenn Sie den Pfad aus dem Verzeichnis und dem Dateinamen zusammensetzen m&ouml;chten, vergessen Sie nicht, einen Backslash zwischen beiden Ausdr&uuml;cken einzuf&uuml;gen. Gleiches gilt auch, wenn Sie <b>CurrentProject.Path <\/b>nutzen, um auf andere Dateien im gleichen Verzeichnis zuzugreifen &#8211; also etwa so:<\/p>\n<pre>  CurrentProject.Path & \"\\\" & CurrentProject.Name<\/pre>\n<p><b>Bibliotheken<\/b><\/p>\n<p>Wenn Sie mit VBA arbeiten, setzen Sie vermutlich nicht nur Befehle aus der VBA-Bibliothek ein, sondern auch solche etwa aus den Bibliotheken <b>Microsoft DAO 3.6 Object Library <\/b>et cetera (s. Bild 6). Gelegentlich muss man wissen, wo sich die zugrunde liegenden Dateien befinden &#8211; beispielsweise um die Version abzufragen und zu pr&uuml;fen, ob man die aktuellste Version verwendet (dies war zuletzt in Zusammenhang mit der Bibliothek <b>MSCOMCTL.OCX <\/b>interessant).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_006.png\" alt=\"Das Verweise-Fenster\" width=\"350\" height=\"270,5568\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Das Verweise-Fenster<\/span><\/b><\/p>\n<p>Informationen dazu, wie Sie die Pfade der per Verweis referenzierten Dateien erhalten, finden Sie im Beitrag <b>Bibliotheken und Verweise untersuchen <\/b>(<b>www.access-im-unternehmen.de\/913<\/b>).<\/p>\n<p><b>Weitere Informationen dank Wizhook<\/b><\/p>\n<p>Es gibt unter Access eine nicht dokumentierte Klasse namens <b>WizHook<\/b>. Man muss diese Klasse nicht instanzieren und kann sie lediglich nutzen, wenn man vorher die Eigenschaft <b>Key <\/b>der Klasse auf einen bestimmten Wert einstellt, und zwar wie folgt:<\/p>\n<pre>WizHook.Key = 51488399<\/pre>\n<p>Die <b>Wizhook<\/b>-Klasse wird offensichtlich f&uuml;r interne Dinge verwendet, ist aber von verschiedenen Programmierern untersucht und im Internet beschrieben worden. F&uuml;r das Thema dieses Beitrags liefert sie einige interessante Informationen, die wir uns in den folgenden Abschnitten ansehen werden.<\/p>\n<p><b>Assistenten-Datenbanken<\/b><\/p>\n<p>Access bietet eine ganze Reihe eingebauter Assistenten an, sogenannte Wizards.<\/p>\n<p>Viele davon sind reine Access-Formulare mit VBA-Programmierung, die allerdings in einer gesch&uuml;tzten <b>.mde<\/b>&#8211; oder <b>.accde<\/b>-Datenbank liegen. Woher ich das wei&szlig; Nun, das k&ouml;nnen Sie selbst herausfinden. &ouml;ffnen Sie eine Datenbank, die eine verkn&uuml;pfte Tabelle enth&auml;lt. Starten Sie dann den Tabellenverkn&uuml;pfungs-Manager (s. Bild 7).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_008.png\" alt=\"Der Tabellenverkn&uuml;pfungs-Manager ist ein Access-Formular.\" width=\"575\" height=\"256,2404\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Der Tabellenverkn&uuml;pfungs-Manager ist ein Access-Formular.<\/span><\/b><\/p>\n<p>Wenn Sie nun zum VBA-Editor wechseln und einen Blick auf den Projekt-Explorer werfen, stellen Sie fest, dass sich dem VBA-Projekt der aktuellen Datenbank noch ein weiteres hinzugesellt hat &#8211; n&auml;mlich das mit dem Formular, das den Assistenten darstellt (s. Bild 8).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_007.png\" alt=\"Hinweis auf eine weitere Access-Datenbank\" width=\"400\" height=\"234,1137\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Hinweis auf eine weitere Access-Datenbank<\/span><\/b><\/p>\n<p>Dort findet sich eine ganze Reihe von Formular-Klassenmodulen, Standardmodulen und weiteren Klassenmodulen, die sich allerdings leider nicht &ouml;ffnen lassen, da es sich um eine <b>.mde<\/b>\/<b>.accde<\/b>-Datenbank handelt.<\/p>\n<p>Aber wo finden wir diese Datenbank Wenn Sie den Tabellenverkn&uuml;pfungs-Manager wieder schlie&szlig;en, befindet sich das zus&auml;tzliche VBA-Projekt immer noch im Projekt-Explorer. Sie k&ouml;nnen es dann durch Anklicken aktivieren und im Direktbereich die folgende Anweisung absetzen:<\/p>\n<pre>  VBE.ActiveVBProject.Name\r\nacwztool<\/pre>\n<p>Der Name hilft uns noch nicht weiter. Wir m&ouml;chten den vollst&auml;ndigen Pfad kennen, den die Eigenschaft <b>FileName <\/b>liefert:<\/p>\n<pre>  VBE.ActiveVBProject.FileName\r\nC:\\PROGRAM FILES (X86)\\MICROSOFT OFFICE\\OFFICE14\\ACCWIZ\\ACWZTOOL.ACCDE<\/pre>\n<p>Diese Datenbank k&ouml;nnen Sie nun &ouml;ffnen und sich zumindest die Formulare ansehen, die sich &ouml;ffnen lassen &#8211; nachdem Sie jeweils ein oder zwei Fehlermeldungen weggeklickt haben.<\/p>\n<p><b>Pfad zur acwztool per Wizhook ermitteln<\/b><\/p>\n<p>Die vorherige Ermittlung des Speicherortes ist etwas umst&auml;ndlich. Sie h&auml;tten das auch mit einer der Funktionen der <b>Wizhook<\/b>-Klasse erledigen k&ouml;nnen. Dann w&uuml;rden Sie die folgenden beiden Anweisungen im Direktbereich absetzen:<\/p>\n<pre>WizHook.Key = 51488399\r\n<span style=\"color:blue;\">Debug.Print<\/span> WizHook. AccessWizFilePath(\"utility.mda\") _\r\n    & WizHook.AccessWizFilePath (\"utility.accda\")\r\nC:\\Program Files (x86)\\Microsoft Office\\Office14\\ACCWIZ\\UTILITY.ACCDA<\/pre>\n<p>Da die Datei bei den neueren Access-Versionen auf <b>.accde <\/b>statt auf <b>.mde <\/b>endet, geben wir gleich beide Varianten hintereinander aus.<\/p>\n<p>Auf die gleiche Art k&ouml;nnen Sie auch noch auf die Speicherorte der &uuml;brigen Tool-Datenbanken von Access zugreifen, die Sie in Bild 9 finden.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_009.png\" alt=\"Tool-Datenbanken von Access\" width=\"400\" height=\"165,0603\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Tool-Datenbanken von Access<\/span><\/b><\/p>\n<p><b>Access-Benutzerverzeichnis ermitteln<\/b><\/p>\n<p>Auf die gleiche Weise ermitteln Sie das Benutzerverzeichnis des aktuellen Benutzers. Das ist das Verzeichnis, in dem beispielsweise fr&uuml;her Arbeitsgruppendateien abgelegt wurden. Heute landen dort zum Beispiel Template-Dateien. Das Verzeichnis liefert der folgende Aufruf &#8211; vorheriges Einstellen der <b>Key<\/b>-Eigenschaft nicht vergessen:<\/p>\n<pre>  WizHook.AccessUserDataDir\r\nC:\\Users\\Andre\\AppData\\Roaming\\Microsoft\\Access\\<\/pre>\n<p><b>Auf ADP pr&uuml;fen<\/b><\/p>\n<p>Gerade wenn Sie Access-Add-Ins entwickeln, ist es manchmal hilfreich, die Art der Access-Datenbank zu kennen. Neben den herk&ouml;mmlichen Access-Datenbanken gibt es ja auch noch die Access-Projekte (<b>.adp<\/b>) zur direkten Anbindung an den SQL Server (allerdings von Microsoft abgek&uuml;ndigt). Die Funktion <b>AdpUIDPwd <\/b>liefert den Wert <b>True<\/b>, wenn es sich bei der Datenbank um eine <b>.adp<\/b>-Datei handelt. Neben dieser Information k&ouml;nnen Sie damit auch noch den Namen und das Kennwort des aktuellen Benutzers abfragen, wenn Sie als Parameter zwei entsprechende Variablen &uuml;bergeben und diese anschlie&szlig;end auslesen:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>strBenutzer<span style=\"color:blue;\"> As String<\/span>\r\n<span style=\"color:blue;\">Dim <\/span>strKennwort<span style=\"color:blue;\"> As String<\/span>\r\n<span style=\"color:blue;\">Debug.Print<\/span> WizHook.AdpUIDPwd(strBenutzer, strKennwort)\r\n<span style=\"color:blue;\">Debug.Print<\/span> strBenutzer\r\n<span style=\"color:blue;\">Debug.Print<\/span> strKennwort<\/pre>\n<p><b>Add-In-Verzeichnis<\/b><\/p>\n<p>Ebenfalls f&uuml;r Add-In-Entwickler ist die Kenntnis des Add-In-Verzeichnisses interessant &#8211; vor allem, da sich dieses je nach Access- und Windows-Version unterscheiden kann. W&auml;hrend der Entwickler dieses normalerweise noch selbst finden sollte, kann die folgende Funktion f&uuml;r den Einsatz eines Add-Ins beim Kunden gute Dienste leisten. Wenn dieser n&auml;mlich einmal eine Add-In-Datenbank manuell ersetzen soll, hat er normalerweise M&uuml;he, das passende Verzeichnis zu finden. Mit dem folgenden Aufruf der Funktion <b>OfficeAddInDir <\/b>findet er dieses im Nu:<\/p>\n<pre>WizHook.Key = 51488399\r\n  WizHook.OfficeAddInDir\r\nC:\\Users\\Andre\\AppData\\Roaming\\Microsoft\\AddIns\\<\/pre>\n<p><b>Formular mit allen Funktionen<\/b><\/p>\n<p>Alle VBA-Funktionen, die wir in diesem Beitrag vorgestellt haben, finden Sie im Formular <b>frmAccessFunktionen<\/b> (s. Bild 10).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_010.png\" alt=\"Funktionen in einem Formular in der &uuml;bersicht\" width=\"575\" height=\"317,7012\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: Funktionen in einem Formular in der &uuml;bersicht<\/span><\/b><\/p>\n<p>Die Felder werden durch die Prozedur gef&uuml;llt, die das Ereignis <b>Beim Laden <\/b>des Formulars ausl&ouml;st (s. Listing 1). Dabei reicht in der Regel die einfache Zuweisung des Funktionsergebnisses aus.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     <span style=\"color:blue;\">Dim <\/span>strBenutzer<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>strKennwort<span style=\"color:blue;\"> As String<\/span>\r\n     Me!txtMSAccessExe = SysCmd(acSysCmdAccessDir)\r\n     Me!txtAccessversion = SysCmd(acSysCmdAccessVer)\r\n     Me!txtArbeitsgruppeninformationsdatei = SysCmd(acSysCmdGetWorkgroupFile)\r\n     Me!ctlRuntime = SysCmd(acSysCmdRuntime)\r\n     Me!txtDateiname = CurrentProject.Name\r\n     Me!txtVerzeichnis = CurrentProject.Path\r\n     Me!txtPfad = CurrentDb.Name\r\n     WizHook.Key = 51488399\r\n     Me!txtUtility = WizHook.AccessWizFilePath(\"utility.mda\") _\r\n        & WizHook.AccessWizFilePath(\"utility.accda\")\r\n     Me!txtacwzlib = WizHook.AccessWizFilePath(\"acwzlib.mde\") _\r\n        & WizHook.AccessWizFilePath(\"acwzlib.accde\")\r\n     Me!txtacwzmain = WizHook.AccessWizFilePath(\"acwzmain.mde\") _\r\n        & WizHook.AccessWizFilePath(\"acwzmain.accde\")\r\n     Me!txtacwztool = WizHook.AccessWizFilePath(\"acwztool.mde\") _\r\n        & WizHook.AccessWizFilePath(\"acwztool.accde\")\r\n     Me!txtBenutzer = WizHook.AccessUserDataDir\r\n     Me!chkADP = WizHook.AdpUIDPwd(strBenutzer, strKennwort)\r\n     Me!txtUserADP = strBenutzer\r\n     Me!txtPWDADP = strKennwort\r\n     Me!txtAddInVerzeichnis = WizHook.OfficeAddInDir\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Anzeigen der Funktionen aus diesem Beitrag in einem Formular<\/span><\/b><\/p>\n<p><b>Assistenten manipulieren<\/b><\/p>\n<p>Wenn Sie schon wissen, dass es sich bei einigen Assisten von Access um reine Access-Formulare aus gesch&uuml;tzten Datenbanken handelt, dann sollten Sie dies auch nutzen. Sie k&ouml;nnen diese n&auml;mlich manipulieren. Dies zeigen wir am Beispiel des Tabellenverkn&uuml;pfungs-Managers. Hier soll beispielsweise direkt nach dem &ouml;ffnen das Kontrollk&auml;stchen <b>Immer zur Eingabe eines neuen Speicherorts auffordern <\/b>aktiviert sein.<\/p>\n<p>Da es sich um ein herk&ouml;mmliches Formular handelt, k&ouml;nnen wir &uuml;ber die <b>Forms<\/b>-Auflistung auf das Formular und &uuml;ber dessen <b>Controls<\/b>-Auflistung auch auf seine Steuerelemente und seine Eigenschaften zugreifen. Da sollte es kein Problem sein, ein Kontrollk&auml;stchen anzuhaken.<\/p>\n<p>&ouml;ffnen l&auml;sst sich der Dialog mit diesem VBA-Befehl:<\/p>\n<pre>RunCommand acCmdLinkedTableManager<\/pre>\n<p>Dummerweise wird das Formular aber als modaler Dialog ge&ouml;ffnet. Das bedeutet, dass eventuell nachfolgender Code in der gleichen Prozedur erst ausgef&uuml;hrt wird, wenn der Benutzer das Formular schon wieder geschlossen hat.<\/p>\n<p>Aber auch das bekommen wir hin: Wir benutzen schlicht und einfach das <b>Timer<\/b>-Ereignis, das wir wenige Millisekunden nach dem Anzeigen des Tabellenverkn&uuml;pfungs-Managers ausf&uuml;hren lassen &#8211; dies geschieht unabh&auml;ngig davon, ob die Prozedur, die das modale Formular ge&ouml;ffnet hat, gerade in Warteposition ist.<\/p>\n<p>Dazu erstellen Sie ein neues Formular und statten es mit einer einzigen Schaltfl&auml;che aus (s. Bild 11). Diese stellt das <b>TimerInterval <\/b>auf 100 Millisekunden ein und setzt au&szlig;erdem eine Variable namens <b>bolNot-Open <\/b>auf den Wert <b>True<\/b>. Diese Variable deklarieren wir modulweit, also im Kopf des Klassenmoduls des Formulars:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_011.png\" alt=\"Tabellenverkn&uuml;pfungs-Manager manipuliert &ouml;ffnen\" width=\"400\" height=\"259,9251\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 11: Tabellenverkn&uuml;pfungs-Manager manipuliert &ouml;ffnen<\/span><\/b><\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>bolNotOpen<span style=\"color:blue;\"> As Boolean<\/span><\/pre>\n<p>Die Prozedur, die beim Anklicken der Schaltfl&auml;che im Formular ausgef&uuml;hrt wird, finden Sie in Listing 2. Fehlt noch die <b>Timer<\/b>-Prozedur. Diese pr&uuml;ft zun&auml;chst, ob das Formular <b>att_frmMain <\/b>&uuml;berhaupt ge&ouml;ffnet ist. Falls ja, stellt Sie den Wert des Kontrollk&auml;stchens <b>chkAlwaysPrompt <\/b>auf den Wert <b>True <\/b>ein. Au&szlig;erdem erh&auml;lt die Variable <b>bolNotOpen <\/b>den Wert <b>True<\/b>. Dies sorgt daf&uuml;r, dass der Teil der Prozedur, der das Kontrollk&auml;stchen einstellt, nur einmal ausgef&uuml;hrt wird. Der Benutzer k&ouml;nnte das Kontrollk&auml;stchen wohl wieder deaktivieren, aber es w&uuml;rde immer automatisch aktiviert werden (s. Listing 3).<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdTabellenverknuepfungsmanagerOeffnen_Click()\r\n     Me.TimerInterval = 100\r\n     bolNotOpen = <span style=\"color:blue;\">False<\/span>\r\n     RunCommand acCmdLinkedTableManager\r\n     Me.TimerInterval = 0\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 2: &ouml;ffnen des Tabellenverkn&uuml;pfungs-Managers<\/span><\/b><\/p>\n<p>Und woher wissen wir, wie das Kontrollk&auml;stchen hei&szlig;t, das wir einstellen m&uuml;ssen Ganz einfach: Die Routine <b>FormularAnalysieren<\/b>, die wir in der Prozedur <b>Form_Timer <\/b>aufrufen, gibt alle Steuerelemente dieses Formulars im Direktbereich aus. Da die Steuerelemente nach g&auml;ngigen Konventionen benannt sind, finden Sie relativ schnell den Namen des gew&uuml;nschten Steuerelements in der Ausgabe im Direktbereich (s. Listing 4).<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>FormularAnalysieren(strFormular<span style=\"color:blue;\"> As String<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>frm<span style=\"color:blue;\"> As <\/span>Form\r\n     <span style=\"color:blue;\">Dim <\/span>ctl<span style=\"color:blue;\"> As <\/span>Control\r\n     <span style=\"color:blue;\">Set<\/span> frm = Forms(strFormular)\r\n     For Each ctl In frm.Controls\r\n         <span style=\"color:blue;\">Debug.Print<\/span> ctl.Name\r\n     <span style=\"color:blue;\">Next<\/span> ctl\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 4: Auflisten aller Steuerelemente eines Formulars<\/span><\/b><\/p>\n<p><b>Bildimport mit vorgegebenem Pfad starten<\/b><\/p>\n<p>Wenn Sie einem Formular ein neues Bild hinzuf&uuml;gen, zeigt Access den <b>Grafik einf&uuml;gen<\/b>-Dialog aus Bild 12 an. Dieser offeriert in den seltensten F&auml;llen gleich beim &ouml;ffnen das Verzeichnis, das die gew&uuml;nschten Bilder enth&auml;lt. Aber das ist kein Problem: Sie k&ouml;nnen das Verzeichnis vorab einstellen. Dazu m&uuml;ssen Sie lediglich der Option <b>Default Database Directory <\/b>das gew&uuml;nschte Verzeichnis mit der Methode <b>SetOption <\/b>zuweisen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_06\/pic_909_012.png\" alt=\"Grafik mit vorgegebenem Verzeichnis ausw&auml;hlen\" width=\"400\" height=\"275,2852\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 12: Grafik mit vorgegebenem Verzeichnis ausw&auml;hlen<\/span><\/b><\/p>\n<p>Listing 5 zeigt, wie Sie zun&auml;chst das aktuell in dieser Option gespeicherte Verzeichnis in einer tempor&auml;ren Variablen namens <b>strCurdirTemp <\/b>speichern. Dann &auml;ndern Sie das Verzeichnis auf das Verzeichnis der aktuellen Datenbank, das Sie mit der Eigenschaft <b>Path <\/b>des Objekts <b>CurrentProject <\/b>ermitteln. Der Befehl <b>RunCommand acCmdInsertPicture<\/b> &ouml;ffnet schlie&szlig;lich den gew&uuml;nschten Dialog. Anschlie&szlig;end legen Sie wieder den vorherigen Wert f&uuml;r die Eigenschaft fest.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>BildEinfuegen()\r\n     <span style=\"color:blue;\">Dim <\/span>strCurdirTemp<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>strOption<span style=\"color:blue;\"> As String<\/span>\r\n     strOption = \"Default Database Directory\"\r\n     strCurdirTemp = GetOption(strOption)\r\n     SetOption strOption, CurrentProject.Path\r\n     On Error Resume <span style=\"color:blue;\">Next<\/span>\r\n     RunCommand acCmdInsertPicture\r\n     <span style=\"color:blue;\">On Error GoTo<\/span> 0\r\n     SetOption strOption, strCurdirTemp\r\n     On Error Resume <span style=\"color:blue;\">Next<\/span>\r\n     RunCommand acCmdInsertPicture\r\n     <span style=\"color:blue;\">On Error GoTo<\/span> 0\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 5: &ouml;ffnen des Dialogs zum Ausw&auml;hlen eine Bildes mit verschiedenen Verzeichnissen<\/span><\/b><\/p>\n<p>Ein erneuter Aufruf des Dialogs best&auml;tigt, dass das Zur&uuml;cksetzen funktioniert. W&auml;hrend der Aufrufe des Dialogs haben wir die Fehlerbehandlung ausgesetzt, damit beim Anklicken der Schaltfl&auml;che <b>Abbrechen <\/b>kein Fehler auftritt.<\/p>\n<p>Achtung: Die Prozedur funktioniert nur, wenn gerade ein Formular oder ein Bericht in der Entwurfsansicht ge&ouml;ffnet ist.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Dieser Beitrag liefert einige grundlegende Informationen zum Umgang mit der Datei <b>MSAccess.exe <\/b>sowie zu den VBA-Funktionen, mit denen Sie weitere Informationen erhalten k&ouml;nnen.<\/p>\n<p>Im gleichen Zuge haben Sie erfahren, wie Sie Assistenten auf Basis von Access-Formularen manipulieren k&ouml;nnen und wie Sie den Pfad f&uuml;r einige der Dateiauswahl-Dialoge anpassen k&ouml;nnen.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Accessfunktionen.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{C5D089B9-8A43-47F4-9CE6-AD0BC071D4EA}\/aiu_909.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Access besteht nicht nur aus einer einzigen Anwendungsdatei, sondern auch noch aus einer Reihe weiterer wichtiger Dateien wie etwa den Bibliotheken VBA, DAO oder ADODB oder Add-In-Datenbanken, die Funktionen zu Access hinzuf&uuml;gen. In diesem Beitrag sehen wir uns diese Dateien an und schauen, welche Informationen sich aus diesen gewinnen lassen. Au&szlig;erdem gibt es eine Reihe VBA-Funktionen, mit denen Sie beispielsweise die Speicherorte dieser Dateien ermitteln k&ouml;nnen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662013,66062013,44000028],"tags":[],"class_list":["post-55000909","post","type-post","status-publish","format-standard","hentry","category-662013","category-66062013","category-Ergonomie_und_Benutzeroberflaeche"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>MSAccess.exe und Co. - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MSAccess.exe und Co.\" \/>\n<meta property=\"og:description\" content=\"Access besteht nicht nur aus einer einzigen Anwendungsdatei, sondern auch noch aus einer Reihe weiterer wichtiger Dateien wie etwa den Bibliotheken VBA, DAO oder ADODB oder Add-In-Datenbanken, die Funktionen zu Access hinzuf&uuml;gen. In diesem Beitrag sehen wir uns diese Dateien an und schauen, welche Informationen sich aus diesen gewinnen lassen. Au&szlig;erdem gibt es eine Reihe VBA-Funktionen, mit denen Sie beispielsweise die Speicherorte dieser Dateien ermitteln k&ouml;nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T21:31:20+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg05.met.vgwort.de\/na\/85c61cfd20fb4dd48d9923403dd49e09\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"16\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"MSAccess.exe und Co.\",\"datePublished\":\"2020-05-22T21:31:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/\"},\"wordCount\":2734,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/85c61cfd20fb4dd48d9923403dd49e09\",\"articleSection\":[\"2013\",\"6\\\/2013\",\"Ergonomie und Benutzeroberfl\u00e4che\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/\",\"name\":\"MSAccess.exe und Co. - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/85c61cfd20fb4dd48d9923403dd49e09\",\"datePublished\":\"2020-05-22T21:31:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/85c61cfd20fb4dd48d9923403dd49e09\",\"contentUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/85c61cfd20fb4dd48d9923403dd49e09\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/MSAccessexe_und_Co\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MSAccess.exe und Co.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MSAccess.exe und Co. - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/","og_locale":"de_DE","og_type":"article","og_title":"MSAccess.exe und Co.","og_description":"Access besteht nicht nur aus einer einzigen Anwendungsdatei, sondern auch noch aus einer Reihe weiterer wichtiger Dateien wie etwa den Bibliotheken VBA, DAO oder ADODB oder Add-In-Datenbanken, die Funktionen zu Access hinzuf&uuml;gen. In diesem Beitrag sehen wir uns diese Dateien an und schauen, welche Informationen sich aus diesen gewinnen lassen. Au&szlig;erdem gibt es eine Reihe VBA-Funktionen, mit denen Sie beispielsweise die Speicherorte dieser Dateien ermitteln k&ouml;nnen.","og_url":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T21:31:20+00:00","og_image":[{"url":"http:\/\/vg05.met.vgwort.de\/na\/85c61cfd20fb4dd48d9923403dd49e09","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"16\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"MSAccess.exe und Co.","datePublished":"2020-05-22T21:31:20+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/"},"wordCount":2734,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/#primaryimage"},"thumbnailUrl":"http:\/\/vg05.met.vgwort.de\/na\/85c61cfd20fb4dd48d9923403dd49e09","articleSection":["2013","6\/2013","Ergonomie und Benutzeroberfl\u00e4che"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/","url":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/","name":"MSAccess.exe und Co. - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/#primaryimage"},"thumbnailUrl":"http:\/\/vg05.met.vgwort.de\/na\/85c61cfd20fb4dd48d9923403dd49e09","datePublished":"2020-05-22T21:31:20+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/#primaryimage","url":"http:\/\/vg05.met.vgwort.de\/na\/85c61cfd20fb4dd48d9923403dd49e09","contentUrl":"http:\/\/vg05.met.vgwort.de\/na\/85c61cfd20fb4dd48d9923403dd49e09"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/MSAccessexe_und_Co\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"MSAccess.exe und Co."}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000909"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000909\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}