{"id":55001334,"date":"2021-12-01T00:00:00","date_gmt":"2021-12-10T07:39:49","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1334"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Das_ApplicationObjekt","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/","title":{"rendered":"Das Application-Objekt"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/e70f6e61355f4a2fa1ed120a0159e723\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Eines der wichtigsten Objekte bei der Programmierung von Access-Anwendungen ist das Application-Objekt. Es bietet viele Eigenschaften und Methoden, die stiefm&uuml;tterlich behandelt werden. Dabei lohnt es sich, einmal einen Blick darauf zu werfen &#8211; dann wei&szlig; man im Fall der F&auml;lle, dass es da irgendwo einen passenden Befehl geben muss. Dieser Beitrag zeigt eine &Uuml;bersicht der Elemente des Application-Objekts und deren Funktion. In weiteren Beitr&auml;gen schauen wir uns die Funktion der einzelnen Eigenschaften und Methoden im Detail an.<\/b><\/p>\n<h2>Application-Objekt im Objektkatalog<\/h2>\n<p>Wenn Sie irgendwann einmal vor einer Aufgabe stehen, von der Sie wissen, dass Sie in diesem Beitrag von einer m&ouml;glichen L&ouml;sung gelesen haben, k&ouml;nnen Sie schnell im Objektkatalog des VBA-Editors nachsehen &#8211; dort finden Sie zumindest eine Auflistung der Methoden und Eigenschaften des <b>Application<\/b>-Objekts. Den Objektkatalog &ouml;ffnen Sie mit der Taste <b>F2<\/b>. Oben im Suchfeld geben Sie Application ein und klicken dann auf den gefundenen Eintrag. Die untere Liste liefert dann alle Member dieser Klasse (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_06\/pic_1334_001.png\" alt=\"Elemente des Application-Objekts\" width=\"524,559\" height=\"415,8885\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Elemente des Application-Objekts<\/span><\/b><\/p>\n<p>Nachfolgend finden Sie die mehr oder weniger kurzen Beschreibungen der Elemente des <b>Application<\/b>-Objekts. Elemente f&uuml;r Webdatenbanken oder Elemente f&uuml;r &auml;ltere Techniken wie DDE haben wir nicht ber&uuml;cksichtigt. Sie k&ouml;nnen die Befehle auch ohne vorangestelltes <b>Application <\/b>nutzen.<\/p>\n<h2>AccessError<\/h2>\n<p>Diese Funktion erwartet eine Fehlernummer als Parameter und liefert die Beschreibung des Fehlers in der Anwendungssprache (siehe Bild 2). Praktisch, wenn ein Kunde Ihnen nur die Fehlernummer zu einem Fehler liefert und Sie schnell nachsehen wollen, welche Meldung sich dahinter verbirgt.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_06\/pic_1334_002.png\" alt=\"Ermitteln des Textes eines Access-Fehlers\" width=\"499,5589\" height=\"158,2997\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Ermitteln des Textes eines Access-Fehlers<\/span><\/b><\/p>\n<h2>AddToFavorites<\/h2>\n<p>Hat in fr&uuml;heren Versionen von Access die aktuelle Datenbank zur Liste der Favoriten hinzugef&uuml;gt.<\/p>\n<h2>Assistance<\/h2>\n<p>Das mit der Eigenschaft Assistance gelieferte Objekt bietet vier Methoden an, die Sie in Bild 3 sehen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_06\/pic_1334_003.png\" alt=\"Methoden des Assistance-Objekts\" width=\"424,5589\" height=\"152,7662\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Methoden des Assistance-Objekts<\/span><\/b><\/p>\n<p><b>SearchHelp <\/b>scheint noch die n&uuml;tzlichste Methode zu sein, sie &ouml;ffnet nach Eingabe eines Suchbegriffs als Parameter die Support-Seite von Microsoft mit den passenden Themen:<\/p>\n<pre>Application.Assistance.SearchHelp \"Assistance\"<\/pre>\n<p>Dies funktioniert jedoch nicht gut, denn f&uuml;r dieses Beispiel liefert die Seite keine Suchergebnisse.<\/p>\n<h2>AutoCorrect<\/h2>\n<p>Das mit <b>AutoCorrect<\/b> gelieferte Objekt bietet nur eine Eigenschaft namens <b>DisplayAutoCorrectOptions <\/b>an. Hier mit k&ouml;nnen Sie einstellen, ob die entsprechenden Optionen angezeigt werden sollen:<\/p>\n<pre>Application.AutoCorrect.DisplayAutoCorrectOptions = <span style=\"color:blue;\">False<\/span><\/pre>\n<p>Weitere Informationen zur Autokorrektur finden Sie im Beitrag <b>Autokorrektur-Eintr&auml;ge im Griff <\/b>(<b>www.access-im-unternehmen.de\/1279<\/b>).<\/p>\n<h2>AutomationSecurity<\/h2>\n<p>Diese Eigenschaft legt fest, in welchem Sicherheitsmodus Access andere Access-Anwendungen per VBA &ouml;ffnet (auch einsetzbar von anderen Office-Anwendungen aus). Zum &Ouml;ffnen wird hier <b>OpenCurrentDatabase <\/b>verwendet (siehe weiter unten). Es gibt drei Einstellungen:<\/p>\n<ul>\n<li><b>msoAutomationSecurityByUI<\/b>: Verwendet die Einstellungen in den Access-Optionen (zu finden in dem Dialog, der mit <b>Datei|Optionen <\/b>ge&ouml;ffnet wird, unter <b>Trust Center|Einstellungen f&uuml;r das Trust Center|Makroeinstellungen<\/b>).<\/li>\n<li><b>msoAutomationSecurityForceDisable<\/b>: &Ouml;ffnet die Anwendung ohne Aktivierung von VBA, wenn die Makroeinstellung im oben genannten Dialog auf <b>Alle Makros ohne Benachrichtigung aktivieren <\/b>oder <b>Alle Makros mit Benachrichtigung aktivieren<\/b> steht. Wenn die Einstellung auf <b>Alle Makros aktivieren<\/b> steht, hat <b>msoAutomationSecurityForceDisable <\/b>keine Wirkung.<\/li>\n<li><b>msoAutomationSecurityLow<\/b>: Aktiviert VBA, auch wenn die Makroeinstellung im oben genannten Dialog auf <b>Alle Makros ohne Benachrichtigung aktivieren <\/b>oder <b>Alle Makros mit Benachrichtigung aktivieren<\/b> steht.<\/li>\n<\/ul>\n<h2>BrokenReference<\/h2>\n<p>Mit dieser Eigenschaft finden Sie heraus, ob das VBA-Projekt kaputte oder nicht vorhandene Verweise enth&auml;lt:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Test_BrokenReference()\r\n     <span style=\"color:blue;\">Dim <\/span>objReference<span style=\"color:blue;\"> As <\/span>Access.Reference\r\n     <span style=\"color:blue;\">If <\/span>Application.BrokenReference<span style=\"color:blue;\"> Then<\/span>\r\n         <span style=\"color:blue;\">MsgBox<\/span> \"Es gibt kaputte Verweise.\"\r\n         For Each objReference In Application.References\r\n             <span style=\"color:blue;\">If <\/span>objReference.IsBroken<span style=\"color:blue;\"> Then<\/span>\r\n                 <span style=\"color:blue;\">Debug.Print<\/span> objReference.Name\r\n             <span style=\"color:blue;\">End If<\/span>\r\n         <span style=\"color:blue;\">Next<\/span> objReference\r\n     <span style=\"color:blue;\">Else<\/span>\r\n         <span style=\"color:blue;\">MsgBox<\/span> \"Alle Verweise in Ordnung.\"\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Damit brauchen Sie dann nicht erst die Verweise- beziehungsweise <b>References<\/b>-Auflistung zu durchlaufen. Das ist erst notwendig, wenn <b>BrokenReference <\/b>den Wert <b>True <\/b>liefert. In diesem Fall pr&uuml;fen wir mit der Eigenschaft IsBroken des Reference-Objekts, ob der aktuell durchlaufene Verweis kaputt ist und geben dann seinen Namen im Direktbereich des VBA-Editors aus.<\/p>\n<h2>Build<\/h2>\n<p>Gibt die Buildnummer der aktuellen Version von Microsoft Access zur&uuml;ck:<\/p>\n<pre>  Application.Build\r\n  14228 <\/pre>\n<h2>BuildCriteria<\/h2>\n<p>Die <b>BuildCriteria<\/b>-Funktion erlaubt es, Vergleichsausdr&uuml;cke f&uuml;r verschiedene Datentypen zusammenzustellen. Das ist insbesondere praktisch, wenn man Kriterien etwa f&uuml;r die DLookup-Funktion oder andere Dom&auml;nenfunktionen zusammenstellen m&ouml;chte. Die Funktion erwartet folgende Parameter:<\/p>\n<ul>\n<li><b>Field<\/b>: Name des Feldes, nach dessen Inhalt gesucht werden soll<\/li>\n<li><b>FieldType<\/b>: Felddatentyp, zum Beispiel <b>dbText<\/b>, <b>dbLong<\/b>, <b>dbCurrency <\/b>oder <b>dbDate<\/b><\/li>\n<li><b>Expression<\/b>: Vergleichsausdruck, zum Beispiel <b>Andr&eacute;<\/b>, <b>1<\/b>, <b>Date()<\/b><\/li>\n<\/ul>\n<p>Hier sind einige Beispiele:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> BuildCriteria(\"Vorname\", dbText, \"Andr&eacute;\")\r\nVorname=\"Andr&eacute;\"\r\n<span style=\"color:blue;\">Debug.Print<\/span> BuildCriteria(\"Vorname\", dbText, \"A*\")\r\nVorname Like \"A*\"\r\n<span style=\"color:blue;\">Debug.Print<\/span> BuildCriteria(\"Menge\", dbLong, \"1\")\r\nMenge=1\r\n<span style=\"color:blue;\">Debug.Print<\/span> BuildCriteria(\"Geburtsdatum\", dbDate, Date)\r\nGeburtsdatum=#10\/30\/2021#\r\n<span style=\"color:blue;\">Debug.Print<\/span> BuildCriteria(\"Startzeit\", dbDate, Now)\r\nStartzeit=#10\/30\/2021 10:13:4#\r\n<span style=\"color:blue;\">Debug.Print<\/span> BuildCriteria(\"Einzelpreis\", dbCurrency, \"10,50\")\r\nEinzelpreis=10.5\r\n<span style=\"color:blue;\">Debug.Print<\/span> BuildCriteria(\"Aktiv\", dbBoolean, \"Falsch\")\r\nAktiv=<span style=\"color:blue;\">False<\/span><\/pre>\n<p>Wir sehen hier, dass die Funktion recht flexibel ist. Beim Vergleich von Textfeldern ohne Platzhalter wie dem Sternchen (<b>*<\/b>) wird das Gleichheitszeichen als Operator verwendet, bei solchen mit Sternchen <b>LIKE<\/b>. Au&szlig;erdem werden Zeichenketten automatisch in Anf&uuml;hrungszeichen eingefasst. Datumsangaben werden in ein SQL-kompatibles Format umgewandelt und in Zahlen werden Kommata durch das aktuell verwendete Dezimaltrennzeichen ersetzt. Au&szlig;erdem wandelt die Funktion verschiedene <b>Boolean<\/b>-Werte, zum Beispiel <b>Wahr<\/b>, direkt in eine verwertbare Form um (<b>True<\/b>).<\/p>\n<p>Im Beitrag <b>Suchfunktion mit BuildCritera <\/b>(<b>www.access-im-unternehmen.de\/1339<\/b>) zeigen wir einen Anwendungszweck f&uuml;r diese Funktion.<\/p>\n<h2>CloseCurrentDatabase<\/h2>\n<p>Schlie&szlig;t die Datenbank in der mit dem <b>Application<\/b>-Objekt angegebenen Access-Instanz. Sie k&ouml;nnen diesen Befehl in der aktuellen Access-Instanz wie folgt einsetzen:<\/p>\n<pre>Application.CloseCurrentDatabase<\/pre>\n<p>Wenn Sie eine Datenbank wie weiter unten unter dem Befehl <b>OpenCurrentDatabase <\/b>beschrieben in einer eigenen Instanz ge&ouml;ffnet haben, die beispielsweise <b>objAccess <\/b>hei&szlig;t, verwenden Sie folgende Anweisung, um die Datenbank zu schlie&szlig;en:<\/p>\n<pre>objAccess.Application.CloseCurrentDatabase<\/pre>\n<h2>CodeContextObject<\/h2>\n<p><b>CodeContextObject <\/b>liefert den Namen des Objekts, in dem ein Code ausgef&uuml;hrt wird. Es funktioniert nur f&uuml;r Code in den Klassenmodulen von Formular- und Berichtsmodulen. Allerdings k&ouml;nnen Sie es auch in Routinen nutzen, die von Code in Formularen oder Berichten aus aufgerufen werden. So k&ouml;nnen Sie etwa in Fehlerbehandlungsroutinen abfragen, in welchem Objekt der Fehler ausgel&ouml;st wurde, ohne dass Sie einen Verweis auf das Objekt oder seinen Namen als Parameter an die Fehlerbehandlungsroutine &uuml;bergeben m&uuml;ssen.<\/p>\n<p>Dazu platzieren wir beispielsweise folgende Prozedur hinter der Ereigniseigenschaft einer Schaltfl&auml;che in einem Formular:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdFehlerAusloesen_Click()\r\n     On Error Resume <span style=\"color:blue;\">Next<\/span>\r\n     <span style=\"color:blue;\">Debug.Print<\/span> 1 \/ 0\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> Err.Number = 0<span style=\"color:blue;\"> Then<\/span>\r\n         <span style=\"color:blue;\">Call<\/span> ErrorHandler\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die von dort aufgerufene Prozedur <b>ErrorHandler <\/b>legen wir in einem Standardmodul an:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>ErrorHandler()\r\n     <span style=\"color:blue;\">MsgBox<\/span> \"Fehler in ''\"  & Application.CodeContextObject.Name & \"'' (\"  & TypeName(Application.CodeContextObject) & \")\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Diese liefert dann den Namen des Formulars sowie den Typ (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_06\/pic_1334_004.png\" alt=\"Meldung mit Informationen der Eigenschaft CodeContextObject\" width=\"424,5589\" height=\"150,9795\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Meldung mit Informationen der Eigenschaft CodeContextObject<\/span><\/b><\/p>\n<h2>CodeData<\/h2>\n<p>Die Eigenschaft <b>CodeData <\/b>hat eine sehr &auml;hnliche Funktion wie <b>CurrentData <\/b>(f&uuml;r die Beschreibung verweisen wir daher auf die Eigenschaft <b>CurrentData<\/b>, die Sie weiter unten finden). Die Eigenschaft ist f&uuml;r die Nutzung in Access-Add-Ins vorgesehen. Dort k&ouml;nnen Sie dann mit <b>CodeData <\/b>auf die Elemente der Add-In-Datenbank zugreifen und mit <b>CurrentData <\/b>auf die Elemente der aktuell geladenen Datenbank.<\/p>\n<h2>CodeDb<\/h2>\n<p><b>CodeDb <\/b>entspricht im Prinzip der Eigenschaft <b>CurrentDb<\/b>, daher verweisen wir an dieser Stelle auf die Beschreibung der Eigenschaft <b>CurrentDb<\/b>, die wir weiter unten vorstellen. Genau wie bei <b>CodeData <\/b>und <b>CurrentData <\/b>ist <b>CodeDb <\/b>f&uuml;r den Einsatz in Access-Add-Ins vorgesehen, um auf das <b>Database<\/b>-Objekt der Add-In-Datenbank zuzugreifen. Mit <b>CurrentDb <\/b>hingegen greift man von der Add-In-Datenbank auf das <b>Database<\/b>-Objekt der aktuell in Access angezeigten Datenbank zu.<\/p>\n<h2>CodeProject<\/h2>\n<p><b>CodeProject <\/b>entspricht im Prinzip der Eigenschaft <b>CurrentProject<\/b>, daher verweisen wir an dieser Stelle auf die Beschreibung der Eigenschaft <b>CurrentProject<\/b>, die wir weiter unten vorstellen. Genau wie bei <b>CodeData <\/b>und <b>CurrentData <\/b>ist <b>CodeProject <\/b>f&uuml;r den Einsatz in Access-Add-Ins vorgesehen, um auf das <b>CurrentProject<\/b>-Objekt der Add-In-Datenbank zuzugreifen. Mit <b>CurrentProject <\/b>hingegen greift man von der Add-In-Datenbank auf das <b>CurrentProject<\/b>-Objekt der aktuell in Access angezeigten Datenbank zu.<\/p>\n<h2>ColumnHistory<\/h2>\n<p>Mit dieser Funktion k&ouml;nnen Sie den Versionsverlauf der Daten in einem Memofeld abfragen. Dazu erstellen Sie ein Memofeld (Datentyp <b>Langer Text<\/b>) und stellen dessen Eigenschaft <b>Nur anf&uuml;gen <\/b>auf <b>Ja <\/b>ein (siehe Bild 5). Dann k&ouml;nnen Sie mit <b>ColumnHistory <\/b>f&uuml;r einen bestimmten Datensatz den Versionsverlauf auslesen. F&uuml;r unser Beispiel und den Datensatz mit dem Wert <b>1 <\/b>im Feld <b>ID <\/b>sieht der Aufruf wie folgt aus:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_06\/pic_1334_005.png\" alt=\"Memofeld zum Anf&uuml;gen von Texten\" width=\"549,559\" height=\"384,59\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Memofeld zum Anf&uuml;gen von Texten<\/span><\/b><\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.ColumnHistory(\"tblMemofelder\", \"Memofeld\", \"ID = 1\")<\/pre>\n<p>Nachdem wir erst eine, dann eine zweite Zeile eingegeben haben, erhalten wir dieses Ergebnis:<\/p>\n<pre>[Version: 30.10.2021 11:27:22 ] Erste Zeile.\r\n[Version: 30.10.2021 11:27:43 ] Erste Zeile.\r\nZweite Zeile.<\/pre>\n<h2>COMAddIns<\/h2>\n<p>Die Auflistung <b>COMAddIns <\/b>liefert alle COM-Add-Ins, die f&uuml;r die aktuelle Access-Instanz vorliegen. COM-Add-Ins sind Add-Ins, die im Gegensatz zu Access-Add-Ins mit alternativen Entwicklungsumgebungen erstellt werden, zum Beispiel VB6, .NET oder twinBASIC. Die folgende For Each-Schleife gibt die Beschreibung und die ProgID aller aktuell installierten Elemente aus:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Test_COMAddIns()\r\n     <span style=\"color:blue;\">Dim <\/span>objCOMAddIn<span style=\"color:blue;\"> As <\/span>COMAddIn\r\n     For Each objCOMAddIn In Application.COMAddIns\r\n         <span style=\"color:blue;\">Debug.Print<\/span> objCOMAddIn.Description,  objCOMAddIn.ProgId\r\n     <span style=\"color:blue;\">Next<\/span> objCOMAddIn\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>CommandBars<\/h2>\n<p>Mit der <b>CommandBars<\/b>-Auflistung greifen Sie auf alle <b>CommandBar<\/b>-Definitionen der aktuellen Instanz von Access zu. Das mag in Zeiten des Ribbons veraltet zu sein, aber wir wollen die guten, alten Kontextmen&uuml;s nicht vergessen: Auch diese lassen sich mit dieser Auflistung ermitteln.<\/p>\n<p>Im folgenden Beispiel durchlaufen wir alle Elemente der <b>CommandBars<\/b>-Auflistung und geben all diejenigen im Direktbereich des VBA-Editors aus, deren Eigenschaft <b>Type <\/b>den Wert <b>msoBarTypePopup <\/b>aufweist:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Test_CommandBars()\r\n     <span style=\"color:blue;\">Dim <\/span>cbr<span style=\"color:blue;\"> As <\/span>CommandBar\r\n     <span style=\"color:blue;\">Debug.Print<\/span> \"Anzahl CommandBars:\"  & Application.CommandBars.Count\r\n     For Each cbr In Application.CommandBars\r\n         <span style=\"color:blue;\">If <\/span>cbr.Type = msoBarTypePopup<span style=\"color:blue;\"> Then<\/span>\r\n             <span style=\"color:blue;\">Debug.Print<\/span> cbr.Name\r\n         <span style=\"color:blue;\">End If<\/span>\r\n     <span style=\"color:blue;\">Next<\/span> cbr\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>CompactRepair<\/h2>\n<p>Diese Methode komprimiert und repariert die im ersten Parameter angegeben Datenbank und erzeugt eine komprimierte und reparierte Version unter dem mit dem zweiten Parameter angegebenen Dateinamen:<\/p>\n<pre>Application.CompactRepair  CurrentProject.Path & \"\\Beispiel.accdb\",  CurrentProject.Path & \"\\Beispiel_Komprimiert.accdb\",  <span style=\"color:blue;\">True<\/span><\/pre>\n<p>Mit dem dritten Parameter geben Sie an, ob im Falle von bei der Reparatur entdeckten korrupten Elemente eine Logdatei im Verzeichnis der Datenbank angelegt werden soll.<\/p>\n<h2>ConvertAccessProject<\/h2>\n<p>Diese Methode konvertiert eine ADP-Datei, also ein Access Data Project, in eine reine Access-Datenbank. Sie erwartet die folgenden Parameter:<\/p>\n<ul>\n<li><b>SourceFilename<\/b>: Name der zu konvertierenden ADP-Datei<\/li>\n<li><b>DestinationFilename<\/b>: Name der zu erstellenden Datei<\/li>\n<li><b>DestinationFileFormat<\/b>: Format der zu erstellenden Datei (zum Beispiel <b>acFileFormatAccess2007<\/b>)<\/li>\n<\/ul>\n<h2>CreateAccessProject<\/h2>\n<p>Mit dieser Methode k&ouml;nnen Sie eine ADP-Datei, also ein Access Data Project, erzeugen. Sie ist allerdings in neueren Versionen von Access nicht mehr verf&uuml;gbar und der Aufruf l&ouml;st den Fehler <b>Das Format ADP (Access Data Project) wird ab dieser Version von Access nicht mehr unterst&uuml;tzt.<\/b> aus:<\/p>\n<pre>Application.CreateAccessProject  CurrentProject.Path & \"\\Beispiel.adp\"<\/pre>\n<p>Als zweiten Parameter k&ouml;nnen Sie noch die Verbindungszeichenfolge f&uuml;r die zu verbindende SQL Server-Datenbank angeben.<\/p>\n<h2>CreateAdditionalData<\/h2>\n<p>Diese Methode dient dazu, bei einem Export im XML-Format der Daten weitere Tabellen zu den Daten der zu exportierenden Tabelle hinzuzuf&uuml;gen.<\/p>\n<p>Weitere Informationen zu dieser Methode finden Sie im Beitrag <b>XML-Export mit VBA <\/b>(<b>www.access-im-unternehmen.de\/1046<\/b>).<\/p>\n<h2>CreateControl<\/h2>\n<p>Die Funktion <b>CreateControl <\/b>erstellt ein neues Steuerelement in einem Formular und liefert einen Verweis auf das neue Steuerelement als Funktionswert zur&uuml;ck. Diese und die Methoden <b>CreateForm<\/b> und <b>DeleteControl <\/b>erl&auml;utern wir im Artikel <b>Formulare per VBA erstellen <\/b>(<b>www.access-im-unternehmen.de\/1332<\/b>).<\/p>\n<h2>CreateForm<\/h2>\n<p>Die Methode <b>CreateForm<\/b> erstellt ein neues Formular und liefert einen Verweis auf das neu erstellte Formular als Funktionswert zur&uuml;ck.<\/p>\n<h2>CreateGroupLevel<\/h2>\n<p>Diese Methode erzeugt in einem Bericht einen neuen Gruppierungs- oder Sortierungsbereich.<\/p>\n<p>Diese und die Methoden <b>CreateReport<\/b>, <b>CreateReportControl <\/b>und <b>DeleteReportControl <\/b>erl&auml;utern wir im Artikel <b>Berichte per VBA erstellen <\/b>(<b>www.access-im-unternehmen.de\/1338<\/b>).<\/p>\n<h2>CreateReport<\/h2>\n<p>Diese Funktion erstellt einen neuen Bericht und liefert einen Verweis auf den neu erstellten Bericht als Funktionswert zur&uuml;ck.<\/p>\n<h2>CreateReportControl<\/h2>\n<p>Diese Funktion erstellt ein Steuerelement in einem Bericht und liefert einen Verweis auf das Steuerelement als Funktionswert zur&uuml;ck.<\/p>\n<h2>CurrentData<\/h2>\n<p>Das mit der Eigenschaft <b>CurrentData <\/b>gelieferte Objekt liefert Eigenschaften mit verschiedenen Auflistungen:<\/p>\n<ul>\n<li><b>AllQueries<\/b>: Liefert eine Auflistung aller Abfragen der aktuellen Datenbank.<\/li>\n<li><b>AllTables<\/b>: Liefert eine Auflistung aller Tabellen der aktuellen Datenbank.<\/li>\n<li><b>AllDatabaseDiagrams<\/b>, <b>AllFunctions<\/b>, <b>AllStoresProcedures<\/b>, <b>AllViews<\/b>: Liefert Auflistung der SQL Server-Objekte (nur in ADP-Dateien verf&uuml;gbar, die nicht mehr unterst&uuml;tzt werden)<\/li>\n<\/ul>\n<p>Der folgende Code gibt die Anzahl der Abfragen und Tabellen aus und anschlie&szlig;end in einer <b>For Each<\/b>-Schleife die Namen aller Eintr&auml;ge der Auflistung <b>AllTables<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Test_CurrentData()\r\n     <span style=\"color:blue;\">Dim <\/span>objObject<span style=\"color:blue;\"> As <\/span>AccessObject\r\n     <span style=\"color:blue;\">Debug.Print<\/span> Application.CurrentData.AllQueries.Count\r\n     <span style=\"color:blue;\">Debug.Print<\/span> Application.CurrentData.AllTables.Count\r\n     For Each objObject In Application.CurrentData.AllTables\r\n         <span style=\"color:blue;\">Debug.Print<\/span> objObject.FullName\r\n     <span style=\"color:blue;\">Next<\/span> objObject\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><!--30percent--><\/p>\n<p>Achtung: Die beiden Eigenschaften <b>CodeData <\/b>und <b>CurrentData <\/b>liefern scheinbar die gleichen Ergebnisse. Das ist nur der Fall, wenn Sie in der aktuell geladenen Datenbank verwendet werden. Wenn Sie die beiden Eigenschaften in einer Add-In-Datenbank nutzen, die ja als Add-In f&uuml;r die Verwendung zus&auml;tzlich zu einer anderen Access-Datenbank genutzt wird, dann haben diese einen anderen Kontext:<\/p>\n<ul>\n<li><b>CodeData<\/b>: Liefert dann die Auflistung der Tabellen und Abfragen, die in der Add-In-Datenbank gespeichert sind.<\/li>\n<li><b>CurrentData<\/b>: Liefert dann die Auflistung der Tabellen und Abfragen, die in der in Access ge&ouml;ffneten Datenbank gespeichert sind.<\/li>\n<\/ul>\n<h2>CurrentDb<\/h2>\n<p>Die Funktion <b>CurrentDb <\/b>liefert einen Verweis auf das <b>Database<\/b>-Objekt der aktuellen Datenbank zur&uuml;ck. Diese Funktion und das <b>Database<\/b>-Objekt beschreiben wir ausf&uuml;hrlich im Beitrag <b>Die CurrentDb-Funktion und das Database-Objekt <\/b>(<b>www.access-im-unternehmen.de\/1111<\/b>).<\/p>\n<h2>CurrentObjectName<\/h2>\n<p>Die Eigenschaft <b>CurrentObjectName <\/b>liefert den Namen des aktuell im Navigationsbereich markierten Elements. Wenn mehrere Elemente markiert sind, liefert die Eigenschaft den Namen des zuerst markierten Elements.<\/p>\n<h2>CurrentObjectType<\/h2>\n<p>Diese Eigenschaft liefert, wenn ein Objekt im Datenbankfenster angezeigt wird, den Objekttyp des aktuell aktiven Objekts im Datenbankfenster. Ist kein Objekt im Datenbankfenster sichtbar, liefert die Eigenschaft den Objekttyp des aktuell im Navigationsbereich markierten Elements. Wenn mehrere Elemente markiert sind, liefert die Eigenschaft den Objekttyp des zuerst markierten Elements.<\/p>\n<p>Es gibt die folgenden Objekttypen:<\/p>\n<ul>\n<li><b>0<\/b>: Tabelle (<b>acTable<\/b>)<\/li>\n<li><b>1<\/b>: Abfrage (<b>acQuery<\/b>)<\/li>\n<li><b>2<\/b>: Formular (<b>acForm<\/b>)<\/li>\n<li><b>3<\/b>: Bericht (<b>acReport<\/b>)<\/li>\n<li>4: Makro (<b>acMacro<\/b>)<\/li>\n<li><b>5<\/b>: Modul (<b>acModule<\/b>)<\/li>\n<\/ul>\n<h2>CurrentProject<\/h2>\n<p>Mit der <b>CurrentProject<\/b>-Eigenschaft holen Sie einen Verweis auf das Objekt des gleichnamigen Typs. Es h&auml;lt einige Methoden und Eigenschaften bereit, die wir uns im Detail im Beitrag <b>Die CurrentProject-Klasse <\/b>(<b>www.access-im-unternehmen.de\/1340<\/b>) ansehen.<\/p>\n<h2>CurrentUser<\/h2>\n<p>Gibt den Namen des aktuellen Benutzers der Access-Datenbank zur&uuml;ck, in der Regel <b>Admin<\/b>. Diese Eigenschaft war fr&uuml;her wichtig, als Access noch das Sicherheitssystem mit der Benutzerverwaltung unterst&uuml;tzt hat.<\/p>\n<h2>DAvg<\/h2>\n<p>Diese Funktion ermittelt einen Durchschnittswert. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DBEngine<\/h2>\n<p>Die <b>DBEngine<\/b>-Eigenschaft liefert einen Verweis auf das gleichnamige Objekt. Dieses stellt Funktionen bereit, um Transaktionen durchzuf&uuml;hren, Datenbanken zu erstellen, Fehlerauflistungen abzufragen und vieles mehr. Im Beitrag <b>Das DBEngine-Objekt <\/b>(<b>www.access-im-unternehmen.de\/1341<\/b>) beschreiben wir dieses Objekt im Detail.<\/p>\n<h2>DCount<\/h2>\n<p>Diese Funktion ermittelt die Anzahl der Datens&auml;tze mit den angegebenen Kriterien. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DeleteControl<\/h2>\n<p>Diese Methode l&ouml;scht ein Steuerelement von einem Formular. Weitere Informationen weiter oben unter <b>CreateControl<\/b>.<\/p>\n<h2>DeleteReportControl<\/h2>\n<p>Diese Methode l&ouml;scht ein Steuerelement von einem Bericht. F&uuml;r weitere Informationen siehe weiter oben unter <b>CreateGroupLevel<\/b>.<\/p>\n<h2>DFirst<\/h2>\n<p>Diese Funktion ermittelt den Wert des angegebenen Feldes des ersten gefundenen Datensatzes mit den angegebenen Kriterien. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DLast<\/h2>\n<p>Diese Funktion ermittelt den Wert des angegebenen Feldes des letzten gefundenen Datensatzes mit den angegebenen Kriterien. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DLookup<\/h2>\n<p>Diese Funktion ermittelt den Wert des angegebenen Feldes des ersten gefundenen Datensatzes mit den angegebenen Kriterien. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DMax<\/h2>\n<p>Diese Funktion ermittelt den maximalen Wert des angegebenen Feldes der gefundenen Datens&auml;tze mit den angegebenen Kriterien. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DMin<\/h2>\n<p>Diese Funktion ermittelt den minimalen Wert des angegebenen Feldes der gefundenen Datens&auml;tze mit den angegebenen Kriterien. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DoCmd<\/h2>\n<p>Das <b>DoCmd<\/b>-Objekt stellt einige Methoden bereit, die &uuml;blicherweise &uuml;ber die Benutzeroberfl&auml;che oder als Makrobefehl bereitgestellt werden. Wir stellen diese Methoden ausf&uuml;hrlich im Beitrag <b>Das DoCmd-Objekt <\/b>vor (<b>www.access-im-unternehmen.de\/1342<\/b>).<\/p>\n<h2>DStDev<\/h2>\n<p>Diese Funktion ermittelt die Standardabweichung des angegebenen Feldes der gefundenen Datens&auml;tze mit den angegebenen Kriterien bezogen auf eine Stichprobe. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DStDevP<\/h2>\n<p>Diese Funktion ermittelt den maximalen Wert des angegebenen Feldes der gefundenen Datens&auml;tze mit den angegebenen Kriterien bezogen auf die Gesamtmenge. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DSum<\/h2>\n<p>Diese Funktion ermittelt die Summe der Feldwerte des angegebenen Feldes der gefundenen Datens&auml;tze mit den angegebenen Kriterien. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DVar<\/h2>\n<p>Diese Funktion ermittelt die Varianz des angegebenen Feldes der gefundenen Datens&auml;tze mit den angegebenen Kriterien bezogen auf eine Stichprobe. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>DVarP<\/h2>\n<p>Diese Funktion ermittelt die Varianz des angegebenen Feldes der gefundenen Datens&auml;tze mit den angegebenen Kriterien bezogen auf die Gesamtmenge. Sie finden eine detaillierte Beschreibung im Beitrag <b>Dom&auml;nenfunktionen <\/b>(www.access-im-unternehmen.de\/317)<\/p>\n<h2>Echo<\/h2>\n<p>Diese Methode gibt an, ob die Bildschirmanzeige aktualisiert werden soll. Der erste Parameter dieser Methode erwartet einen Integer-Wert, der angibt, ob die Aktualisierung der Bildschirmanzeige aktiviert (<b>-1<\/b>) oder deaktiviert werden soll (<b>0<\/b>). Der zweite Parameter verarbeitet eine Zeichenkette, die beim Aktivieren oder Deaktivieren in der Statusleiste ausgegeben wird.<\/p>\n<p>Zum Deaktivieren verwenden Sie die folgende Anweisung:<\/p>\n<pre>Application.Echo False,  \"Bildschirmaktualisierung deaktiviert.\"<\/pre>\n<p>Damit wird jegliche Aktivierung der Anzeige im Accessfenster deaktiviert. Zum Aktivieren verwenden Sie die folgende Anweisung:<\/p>\n<pre>Application.Echo True,  \"Bildschirmaktualisierung aktiviert.\"<\/pre>\n<p>Sie k&ouml;nnen diese Methode nutzen, um bei Aktionen, die ein starkes Flackern verursachen, die Bildschirmaktualisierung bis zum Abschluss der ausl&ouml;senden Aktion zu deaktivieren.<\/p>\n<h2>EuroConvert<\/h2>\n<p>Der Nutzen dieser Funktion, die Geldbetr&auml;ge aus verschiedenen W&auml;hrungen in Euro umrechnet, d&uuml;rfte mittlerweile auch verschwindend gering sein. Falls Sie dennoch ein paar DM oder Gulden in der Schublade finden, k&ouml;nnen Sie mit EuroConvert herausfinden, wie viele Euro Sie daf&uuml;r erhalten. Der Aufruf lautet beispielsweise:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.EuroConvert(100, \"DEM\", \"EUR\")<\/pre>\n<p>Sie k&ouml;nnen aber auch Umrechnungen der &uuml;brigen W&auml;hrungen vornehmen &#8211; etwa von Gulden nach DM. Dabei wird der bei der Euro-Einf&uuml;hrung g&uuml;ltige Umrechnungskurs zugrunde gelegt.<\/p>\n<h2>Eval<\/h2>\n<p>Die Eval-Funktion erm&ouml;glicht das Auswerten von Ausdr&uuml;cken, die eine Zeichenfolge oder eine Zahl als Ergebnis liefern. Das k&ouml;nnen einfache konstante Ausdr&uuml;cke sein wie einfache Zeichenfolgen oder Zahlen oder berechnete Ausdr&uuml;cke wie &#8222;1+2&#8220;, aber auch komplexere Formulierungen, die auch den Aufruf von Funktionen enthalten k&ouml;nnen. Auch das hier funktioniert und liefert die Quadratwurzel aus <b>4<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.Eval(\"Sqr(4)\")<\/pre>\n<p>Was Sie damit erledigen k&ouml;nnen, wie das funktioniert und welche Grenzen es gibt, beschreiben wir im Beitrag <b>Die Eval-Funktion <\/b>(<b>www.access-im-unternehmen.de\/1343<\/b>).<\/p>\n<h2>ExportNavigationPane<\/h2>\n<p>Die Methode <b>ExportNavigationPane <\/b>exportiert die Definition des Navigationsbereichs in eine XML-Datei. Dazu geben Sie als Parameter einfach den Namen der zu erstellenden Datei an:<\/p>\n<pre>Application.ExportNavigationPane  CurrentProject.Path & \"\\Navpane.xml\"<\/pre>\n<p>Damit speichern Sie beispielsweise &Auml;nderungen, die sich auf neue, benutzerdefinierte Gruppen beziehen oder Sortierungen beziehungsweise Filter.<\/p>\n<p>Welche M&ouml;glichkeiten dies im Zusammenhang mit benutzerdefinierten &Auml;nderungen des Navigationsbereichs bietet, zeigen wir im Beitrag <b>Der Navigationsbereich von Access <\/b>(<b>www.access-im-unternehmen.de\/1344<\/b>).<\/p>\n<h2>ExportXML<\/h2>\n<p>Die Methode <b>ExportXML <\/b>exportiert Objekte verschiedener Typen aus einer Access-Datenbank in XML-Dokumente. Diese Methode beschreiben wir ausf&uuml;hrlich im Beitrag <b>XML-Export mit VBA <\/b>(<b>www.access-im-unternehmen.de\/1046<\/b>).<\/p>\n<h2>FeatureInstall<\/h2>\n<p>Diese Eigenschaft legt fest, wie Access reagieren soll, wenn VBA-Code noch nicht installierte Features nutzen will. Weder ist dieses Verhalten bei mir bisher aufgetreten, noch sind Hinweise darauf im Web zu finden. Zur Vollst&auml;ndigkeit dennoch die drei m&ouml;glichen Einstellungen:<\/p>\n<ul>\n<li><b>msoFeatureInstallNone <\/b>(<b>0<\/b>): Generiert einen Automatisierungsfehler, wenn nicht installierte Features aufgerufen werden.<\/li>\n<li><b>msoFeatureInstallOnDemand <\/b>(<b>1<\/b>): Fordert den Benutzer zum Installieren neuer Features auf.<\/li>\n<li><b>msoFeatureInstallOnDemandWithUI <\/b>(<b>2<\/b>): Zeigt w&auml;hrend der Installation eine Statusanzeige an. Der Benutzer wird nicht zum Installieren neuer Features aufgefordert.<\/li>\n<\/ul>\n<h2>FileDialog<\/h2>\n<p>Diese Eigenschaft liefert das <b>FileDialog<\/b>-Objekt. Mit diesem k&ouml;nnen Sie Dateidialoge anzeigen. Diese nutzen Sie zur Dateiauswahl (<b>msoFileDialogPicker<\/b>), zur Verzeichnisauswahl (<b>msoFileDialogFolderPicker<\/b>), zum &Ouml;ffnen (<b>msoFileDialogOpen<\/b>) oder zum Angeben des Pfades zum Speichern einer Datei (<b>msoFileDialogSaveAs<\/b>). Die M&ouml;glichkeiten dieses Objekts zeigen wir in einem weiteren Beitrag namens <b>Dateien und Verzeichnisse ausw&auml;hlen mit FileDialog <\/b>(<b>www.access-im-unternehmen.de\/1345<\/b>).<\/p>\n<h2>FollowHyperlink<\/h2>\n<p>Die FollowHyperlink-Methode erm&ouml;glicht das &Ouml;ffnen von Internetseiten per VBA. Als Argument geben Sie die gew&uuml;nschte Internetseite inklusive Angabe des Protokolls, zum Beispiel <b>https:\/\/www.access-im-unternehmen.de<\/b>. Der Aufruf lautet wie folgt:<\/p>\n<pre>Application.FollowHyperlink  \"https:\/\/www.access-im-unternehmen.de\"<\/pre>\n<h2>Forms<\/h2>\n<p>Die <b>Forms<\/b>-Auflistung erm&ouml;glicht den Zugriff auf alle aktuell ge&ouml;ffneten Formulare. Sie k&ouml;nnen beispielsweise mit einer Variablen des Typs <b>Form <\/b>und einer <b>For Each<\/b>-Schleife alle aktuell ge&ouml;ffneten Formulare durchlaufen und deren Name im Direktbereich des VBA-Editors ausgeben:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>frm<span style=\"color:blue;\"> As <\/span>Form\r\nFor Each frm In Application.Forms\r\n     <span style=\"color:blue;\">Debug.Print<\/span> frm.Name, frm.Visible\r\n<span style=\"color:blue;\">Next<\/span> frm<\/pre>\n<p>Praktisch ist, dass dies auch die nicht sichtbaren Formulare ausgibt. Zur Unterscheidung haben wir hier noch die Eigenschaft <b>Visible <\/b>zur Ausgabe hinzugef&uuml;gt.<\/p>\n<h2>GetHiddenAttribute<\/h2>\n<p>Mit der Funktion <b>GetHiddenAttribute <\/b>ermitteln Sie, ob ein Access-Objekt als versteckt gekennzeichnet ist. Das bedeutet, dass das entsprechende Objekt, beispielsweise eine Tabelle, im Navigationsbereich nicht mehr sichtbar ist (au&szlig;er, der Benutzer aktiviert die Option <b>Ausgeblendete Objekte anzeigen <\/b>in den Optionen des Navigationsbereichs). Das ist zum Beispiel bei den Systemtabellen der Fall. Die folgenden beiden Anweisungen liefern einmal den Wert <b>True <\/b>und einmal den Wert <b>False<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.GetHiddenAttribute(acTable,  \"tblMemofelder\")\r\n<span style=\"color:blue;\">Debug.Print<\/span> Application.GetHiddenAttribute(acTable,  \"MSysObjects\")<\/pre>\n<p>Diesen Zustand k&ouml;nnen Sie mit der Methode <b>SetHidden-Attribut <\/b>einstellen (siehe weiter unten).<\/p>\n<h2>GetOption<\/h2>\n<p>Ermittelt den Wert der per Parameter angegebenen Option:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.GetOption(\"Show Hidden Objects\")<\/pre>\n<p>Welchen Parameter Sie f&uuml;r die einzelnen Optionen des Optionendialogs verwenden m&uuml;ssen, haben wir im Beitrag <b>Optionen per VBA f&uuml;r Access 2019 <\/b>(<b>www.access-im-unternehmen.de\/1320<\/b>) detailliert f&uuml;r Sie aufgef&uuml;hrt.<\/p>\n<h2>GUIDFromString<\/h2>\n<p>Diese Methode wandelt einen GUID-Wert beispielsweise aus einem Feld mit dem Datentyp <b>Replikations-ID <\/b>in ein Array mit 16 Elementen um, welche die einzelnen Werte in der GUID enthalten &#8211; allerdings nicht in der richtigen Reihenfolge.<\/p>\n<h2>HtmlEncode<\/h2>\n<p>Die Funktion <b>HtmlEncode <\/b>wandelt die in HTML reservierten Zeichen wie <b>&#038;<\/b>, <b><<\/b>, <b>><\/b> und so weiter innerhalb einer Zeichenfolge in die entsprechenden HTML-codierten Zeichen um. Aus <b>&#038; <\/b>wird <b>&amp;<\/b>, aus <b>< <\/b>wird <b>&lt; <\/b>oder aus <b>> <\/b>wird <b>&gt;<\/b>. Beispiel:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.HtmlEncode( \"Code mit &lt;HTML&gt;-Zeichen\")\r\nCode mit &lt;HTML&gt;-Zeichen<\/pre>\n<h2>hWndAccessApp<\/h2>\n<p>Die Eigenschaft <b>hWndAccessApp<\/b> liefert das Handle des aktuellen Accessfensters, also die Nummer, mit der Windows das Fenster der Access-Anwendung verwaltet:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.hWndAccessApp\r\n1448874<\/pre>\n<p>Dieser Wert ist f&uuml;r manche API-Funktionen interessant &#8211; beispielsweise, wenn Sie die Position oder die Gr&ouml;&szlig;e des Accessfensters bestimmen wollen.<\/p>\n<h2>HyperlinkPart<\/h2>\n<p>Mit der Funktion <b>HyperlinkPart<\/b> k&ouml;nnen Sie verschiedene Elemente eines in einem <b>Hyperlink<\/b>-Feld gespeicherten Hyperlinks ermitteln. Dazu &uuml;bergeben Sie als ersten Parameter einen Verweis auf das Feld mit dem Hyperlink und als zweiten den Parameter f&uuml;r den gesuchten Wert.<\/p>\n<p>Wenn Sie in einer Tabelle ein Feld des Datentyps <b>Link <\/b>anlegen und in einem Formular ein auf diesem Feld basierendes Textfeld erstellen, k&ouml;nnen Sie f&uuml;r dieses Feld im Kontextmen&uuml; den Eintrag <b>Link|Hyperlink bearbeiten&#8230; <\/b>aufrufen. Dies &ouml;ffnet den Dialog aus Bild 6. Den Wert aus <b>Anzuzeigender Text <\/b>und den eigentlichen Hyperlink ermitteln wir wie folgt:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_06\/pic_1334_006.png\" alt=\"Dialog zum Bearbeiten von Hyperlinks\" width=\"549,559\" height=\"275,6021\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Dialog zum Bearbeiten von Hyperlinks<\/span><\/b><\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n<span style=\"color:blue;\">Dim <\/span>rst<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n<span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n<span style=\"color:blue;\">Set<\/span> rst = db.OpenRecordset(\"tblHyperlinks\", dbOpenDynaset)\r\n<span style=\"color:blue;\">Debug.Print<\/span> \"acAddress: \" & Application.HyperlinkPart( rst!Hyperlinkfeld, acAddress)\r\n<span style=\"color:blue;\">Debug.Print<\/span> \"acDisplayText: \" & Application.HyperlinkPart( rst!Hyperlinkfeld, acDisplayText)<\/pre>\n<h2>ImportNavigationPane<\/h2>\n<p>Diese Methode importiert die als Parameter angegebene Datei mit der Definition des Navigationsbereichs. Neben dem ersten Parameter, der den Namen der zu importierenden XML-Datei enth&auml;lt, gibt es noch einen zweiten Parameter namens <b>fAppendOnly<\/b>. Mit diesem geben Sie an, ob in der Datei angegebene Kategorien zu eventuell bereits vorhandenen Kategorien hinzugef&uuml;gt werden oder ob Sie diese &uuml;berschreiben wollen. Zum Hinzuf&uuml;gen erh&auml;lt <b>fAppendOnly <\/b>den Wert <b>True<\/b>, sonst <b>False<\/b>.<\/p>\n<h2>ImportXML<\/h2>\n<p>Mit dieser Methode k&ouml;nnen Sie Daten, die Sie mit <b>ExportXML<\/b> exportiert haben, in die gleiche oder eine andere Access-Datenbank importieren. Die Methode erwartet nur zwei Parameter:<\/p>\n<ul>\n<li><b>DataSource<\/b>: erwartet die Angabe des Pfades zu der zu importierenden Datei<\/li>\n<li><b>ImportOptions<\/b>: erwartet einen der Werte <b>acAppendData <\/b>(h&auml;ngt die Daten an eine vorhandene Tabelle an, was bei exportierten Tabellen mit Prim&auml;rschl&uuml;sselfeld zu Fehlern wegen Schl&uuml;sselverletzungen f&uuml;hrt), <b>acStructureAndData <\/b>(importiert die Tabelle als ganzes, ist die Tabelle bereits vorhanden, wird die Tabelle mit dem Zusatz <b>1 <\/b>im Namen gespeichert) oder <b>acStructureOnly <\/b>(importiert nur die Struktur)<\/li>\n<\/ul>\n<p>Ein Beispielaufruf sieht wie folgt aus:<\/p>\n<pre>Application.ImportXML CurrentProject.Path & \"\\tblMemofelder.xml\", acStructureAndData<\/pre>\n<h2>InstantiateTemplate<\/h2>\n<p>Erstellt eine neue Datenbank auf Basis der als Parameter angegebenen Datenbankvorlage. Wie Sie eine Datenbankvorlage mit Access 2016 und neuer erstellen, zeigen wir im Beitrag <b>Datenbankvorlagen mit Access 2016 <\/b>(<b>www.access-im-unternehmen.de\/1346<\/b>).<\/p>\n<p>Bei unseren Tests konnten wir keine neue Datenbank mit diesem Befehl erstellen.<\/p>\n<h2>IsCompiled<\/h2>\n<p>Diese Eigenschaft gibt an, ob das aktuelle VBA-Projekt kompiliert ist. Das Kompilieren erledigt der Men&uuml;befehl <b>Debug-gen|Kompilieren von <Projektname><\/b> des VBA-Editors.<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.IsCompiled<\/pre>\n<h2>LanguageSettings<\/h2>\n<p>Das von dieser Eigenschaft gelieferte Objekt hat den Typ LanguageSettings und Sie k&ouml;nnen damit den der Sprache entsprechenden Zahlenwert f&uuml;r verschiedene Spracheinstellungen ermitteln. Die Sprache der Benutzeroberfl&auml;che ermitteln Sie beispielsweise wie folgt:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objLanguageSettings<span style=\"color:blue;\"> As <\/span>LanguageSettings\r\n<span style=\"color:blue;\">Set<\/span> objLanguageSettings = Application.LanguageSettings\r\n<span style=\"color:blue;\">Debug.Print<\/span> objLanguageSettings.LanguageID(msoLanguageIDUI)<\/pre>\n<h2>LoadCustomUI<\/h2>\n<p>Diese Funktion l&auml;dt die als Parameter angegebene Ribbondefinition tempor&auml;r in die Liste der Ribbondefinitionen, die f&uuml;r diese Anwendung zur Verf&uuml;gung stehen. Diese Funktion beschreiben wir in einem eigenen Beitrag namens <b>Ribbondefinition laden mit LoadCustomUI <\/b>(<b>www.access-im-unternehmen.de\/1347<\/b>).<\/p>\n<h2>LoadPicture<\/h2>\n<p>Mit der <b>LoadPicture<\/b>-Funktion k&ouml;nnen Sie Bilder mit bestimmten Bilddatentypen (<b>.bmp<\/b>, <b>.ico<\/b>, <b>.rle <\/b>oder <b>.wmf<\/b>) in ActiveX-Steuerelemente oder in Variablen des Typs <b>StdPicture<\/b> laden:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objPicture<span style=\"color:blue;\"> As <\/span>StdPicture\r\n<span style=\"color:blue;\">Set<\/span> objPicture = Application.LoadPicture( CurrentProject.Path & \"\\add.ico\")<\/pre>\n<h2>MacroError<\/h2>\n<p>Sie k&ouml;nnen von einem Makro aus mit der Makroaktion <b>Ausf&uuml;hrenCode <\/b>eine VBA-Funktion wie die folgende Aufrufen:<\/p>\n<pre><span style=\"color:blue;\">Public Function <\/span>Test_MacroError()\r\n     <span style=\"color:blue;\">Debug.Print<\/span> Application.MacroError.ActionName\r\n     <span style=\"color:blue;\">Debug.Print<\/span> Application.MacroError.Arguments\r\n     <span style=\"color:blue;\">Debug.Print<\/span> Application.MacroError.Condition\r\n     <span style=\"color:blue;\">Debug.Print<\/span> Application.MacroError.Description\r\n     <span style=\"color:blue;\">Debug.Print<\/span> Application.MacroError.MacroName\r\n     <span style=\"color:blue;\">Debug.Print<\/span> Application.MacroError.Number\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p>Wenn Sie zuvor mit der Makroaktion <b>BeiFehler <\/b>und dem Wert <b>N&auml;chster <\/b>f&uuml;r das Attribut <b>Gehe <\/b>zu die eingebaute Fehlerbehandlung deaktiviert haben, liefert die oben abgebildete Funktion detaillierte Fehlerinformationen im Direktbereich des VBA-Editors.<\/p>\n<h2>Modules<\/h2>\n<p>Die <b>Modules<\/b>-Eigenschaft liefert eine Auflistung aller aktuell im VBA-Editor ge&ouml;ffneten Module. Diese lassen sich nicht wie &uuml;blich in einer <b>For Each<\/b>-Schleife durchlaufen. Daher verwenden wir eine <b>For&#8230;Next<\/b>-Schleife, die von <b>0 <\/b>bis zur mit der <b>Count<\/b>-Eigenschaft ermittelten Anzahl der Module minus eins durchlaufen wird. Hier geben wir den Namen des jeweiligen Moduls aus:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Test_Modules()\r\n     <span style=\"color:blue;\">Dim <\/span>objModule<span style=\"color:blue;\"> As <\/span>Module\r\n     <span style=\"color:blue;\">Dim <\/span>i<span style=\"color:blue;\"> As Integer<\/span>\r\n     <span style=\"color:blue;\">Debug.Print<\/span> Application.Modules.Count\r\n     For i = 0 To Application.Modules.Count - 1\r\n         <span style=\"color:blue;\">Debug.Print<\/span> Application.Modules.Item(i)\r\n     <span style=\"color:blue;\">Next<\/span> i\r\n''    For Each objModule In Application.Modules\r\n''        <span style=\"color:blue;\">Debug.Print<\/span> objModule.Name\r\n''    <span style=\"color:blue;\">Next<\/span> objModule\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Das jeweilige <b>Module<\/b>-Objekt liefert noch weitere Eigenschaften, mit denen Sie auch auf den enthaltenen Code zugreifen k&ouml;nnen.<\/p>\n<h2>Name<\/h2>\n<p>Die Eigenschaft <b>Name <\/b>liefert den Namen der Anwendung:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.Name\r\nMicrosoft Access<\/pre>\n<h2>NewCurrentDatabase<\/h2>\n<p>Um diese Methode, mit der wir eine neue Datenbank erstellen k&ouml;nnen, von einer ge&ouml;ffneten Access-Anwendung aus zu nutzen, ben&ouml;tigen wir eine neue, externe Access-Instanz. Diese referenzieren wir mit der folgenden Variablen:<\/p>\n<pre><span style=\"color:blue;\">Public <\/span>objAccess<span style=\"color:blue;\"> As <\/span>Access.Application<\/pre>\n<p>Dann erstellen wir eine neue Access-Instanz und speichern einen Verweis darauf in der Variablen <b>objAccess<\/b>. Diese machen wir sichtbar und nutzen diese dann, um mit der Methode <b>NewCurrentDatabase <\/b>eine neue Datenbank zu erstellen:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Test_NewCurrentDatabase()\r\n     <span style=\"color:blue;\">Set<\/span> objAccess = <span style=\"color:blue;\">New<\/span> Access.Application\r\n     objAccess.Visible = <span style=\"color:blue;\">True<\/span>\r\n     Kill CurrentProject.Path & \"\\Neu.accdb\"\r\n     objAccess.NewCurrentDatabase CurrentProject.Path  & \"\\Neu.accdb\", acNewDatabaseFormatAccess2007\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Nz<\/h2>\n<p>Die <b>Nz<\/b>-Funktion ist speziell f&uuml;r die Untersuchung von Ausdr&uuml;cken auf den Wert <b>Null <\/b>vorgesehen. Sie erwartet zwei Parameter &#8211; den zu untersuchenden Ausdruck und den Wert, der zur&uuml;ckgegeben werden soll, wenn der zu untersuchende Ausdruck dem Wert <b>Null <\/b>entspricht.<\/p>\n<p>Die Funktion liefert also niemals den Wert <b>Null <\/b>zur&uuml;ck, sondern entweder den mit dem ersten Parameter &uuml;bergebenen Wert, wenn dieser ungleich <b>Null <\/b>ist, und den zweiten Wert, wenn der erste Parameter <b>Null <\/b>ist.<\/p>\n<h2>OpenCurrentDatabase<\/h2>\n<p>Damit k&ouml;nnen Sie beispielsweise von Access oder auch von einer anderen Office-Anwendung aus eine neue Access-Datenbank &ouml;ffnen. Hierzu ist das vorherige Initialisieren einer neuen Instanz von Access n&ouml;tig. Dann verwenden Sie <b>OpenCurrentDatabase<\/b>, um die als Parameter angegebene Datenbank zu &ouml;ffnen:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>TestOpenCurrentDatabase()\r\n     <span style=\"color:blue;\">Dim <\/span>strDatabase<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>objAccess<span style=\"color:blue;\"> As <\/span>Access.Application\r\n     <span style=\"color:blue;\">Set<\/span> objAccess = <span style=\"color:blue;\">New<\/span> Access.Application\r\n     strDatabase = CurrentProject.Path & \"\\Beispiel.accdb\"\r\n     objAccess.AutomationSecurity = msoAutomationSecurityForceDisable\r\n     objAccess.OpenCurrentDatabase strDatabase\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Parent<\/h2>\n<p>Liefert das &uuml;bergeordnete Element des <b>Application<\/b>-Objekts. F&uuml;r das <b>Application<\/b>-Objekt ist das immer ein Verweis auf sich selbst.<\/p>\n<h2>PlainText<\/h2>\n<p>Die <b>PlainText<\/b>-Funktion wandelt einen im <b>RichText<\/b>-Format  &uuml;bergebenen Text in das <b>PlainText<\/b>-Format um:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.PlainText(\"&lt;b&gt;Sch&ouml;n&lt;\/b&gt;\")\r\nSch&ouml;n<\/pre>\n<p>Mit dem zweiten Parameter k&ouml;nnen Sie die L&auml;nge des zur&uuml;ckzuliefernden Ausdrucks festlegen.<\/p>\n<h2>Printer<\/h2>\n<p>Die <b>Printer<\/b>-Eigenschaft liefert einen Verweis auf das aktuell f&uuml;r die Anwendung eingestellte <b>Printer<\/b>-Objekt.<\/p>\n<p>Damit k&ouml;nnen Sie beispielsweise den Namen des Druckers ausgeben lassen:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.Printer.DeviceName<\/pre>\n<h2>Printers<\/h2>\n<p>Die <b>Printers<\/b>-Eigenschaft liefert eine Liste aller Drucker, die auf dem aktuellen Rechner installiert sind:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objPrinter<span style=\"color:blue;\"> As <\/span>Printer\r\nFor Each objPrinter In Application.Printers\r\n     <span style=\"color:blue;\">Debug.Print<\/span> objPrinter.DeviceName\r\n<span style=\"color:blue;\">Next<\/span> objPrinter<\/pre>\n<h2>ProductCode<\/h2>\n<p>Liefert die GUID f&uuml;r die Anwendung <b>Microsoft Access<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.ProductCode\r\n{90160000-000F-0000-0000-0000000FF1CE}<\/pre>\n<h2>Quit<\/h2>\n<p>Die <b>Quit<\/b>-Methode schlie&szlig;t die aktuelle Access-Anwendung:<\/p>\n<pre>Application.Quit<\/pre>\n<p>Die <b>Quit<\/b>-Methode nimmt drei Parameter entgegen:<\/p>\n<ul>\n<li><b>acQuitPrompt <\/b>(<b>0<\/b>): Fragt vor dem Schlie&szlig;en, ob nicht gespeicherte Datenbankobjekte gespeichert werden sollen (Standardwert)<\/li>\n<li><b>acQuitSaveAll <\/b>(<b>1<\/b>): Speichert vor dem Schlie&szlig;en alle ungespeicherten Access-Objekte.<\/li>\n<li><b>acQuitSaveNone <\/b>(<b>2<\/b>): Schlie&szlig;t die Anwendung, ohne ungespeicherte Access-Objekte zu speichern.<\/li>\n<\/ul>\n<h2>References<\/h2>\n<p>Die <b>References<\/b>-Auflistung erlaubt das Durchlaufen aller <b>Reference<\/b>-Objekte des VBA-Projekts der aktuellen Datenbankanwendung. Die enthaltenen <b>Reference<\/b>-Objekte liefern Eigenschaften wie den Namen, den Pfad oder auch den Zustand eines Verweises. Sie k&ouml;nnen diese beispielsweise durchlaufen und im Direktbereich ausgeben lassen:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Test_References()\r\n     <span style=\"color:blue;\">Dim <\/span>objReference<span style=\"color:blue;\"> As <\/span>Access.Reference\r\n     For Each objReference In Application.References\r\n         <span style=\"color:blue;\">Debug.Print<\/span> objReference.Name, _\r\n             objReference.FullPath\r\n     <span style=\"color:blue;\">Next<\/span> objReference\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>RefreshDatabaseWindow<\/h2>\n<p>Diese Methode sorgt daf&uuml;r, dass der Navigationsbereich aktualisiert wird. Der Name stammt von dem fr&uuml;her zur Anzeige von Datenbankobjekten verwendeten Datenbankfenster.<\/p>\n<p>Wenn Sie Elemente &uuml;ber die Benutzeroberfl&auml;che anlegen, deren Name &auml;ndern oder diese l&ouml;schen, werden die &Auml;nderungen immer direkt im Navigationsbereich angezeigt. Das geschieht jedoch nicht, wenn Sie solche &Auml;nderungen per VBA vornehmen.<\/p>\n<h2>RefreshTitleBar<\/h2>\n<p>Diese Methode aktualisiert die Anzeige der Titelleiste von Access, wenn Sie per VBA die <b>AppTitle<\/b>&#8211; oder <b>AppIcon<\/b>-Eigenschaft ge&auml;ndert haben. Das erledigen Sie mit dem folgenden Code:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n<span style=\"color:blue;\">Dim <\/span>prp<span style=\"color:blue;\"> As <\/span>DAO.Property\r\n<span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\nOn Error Resume <span style=\"color:blue;\">Next<\/span>\r\n<span style=\"color:blue;\">Set<\/span> prp = db.CreateProperty(\"AppTitle\", dbText, \"Meine Beispieldatenbank\")\r\ndb.Properties.Append prp\r\n<span style=\"color:blue;\">On Error GoTo<\/span> 0\r\ndb.Properties(\"AppTitle\") = \"Meine Beispieldatenbank\"\r\nApplication.RefreshTitleBar<\/pre>\n<h2>Reports<\/h2>\n<p>Die Eigenschaft <b>Reports <\/b>liefert eine Auflistung, die alle aktuell ge&ouml;ffneten Berichte enth&auml;lt. Sie k&ouml;nnen diese beispielsweise wie folgt durchlaufen:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>rpt<span style=\"color:blue;\"> As <\/span>Report\r\nFor Each rpt In Application.Reports\r\n     <span style=\"color:blue;\">Debug.Print<\/span> rpt.Name\r\n<span style=\"color:blue;\">Next<\/span> rpt<\/pre>\n<h2>ReturnVars<\/h2>\n<p>Mit den <b>ReturnVars <\/b>k&ouml;nnen Sie &uuml;ber R&uuml;ckgabeparameter mit Datenmakros kommunizieren beziehungsweise Ergebnisse von diesen ermitteln. Dazu legen wir f&uuml;r eine einfache Tabelle namens <b>tblDatenmakro <\/b>ein neues Datenmakro an, das wie in Bild 7 aussieht.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_06\/pic_1334_007.png\" alt=\"Beispiel f&uuml;r ein Datenmakro\" width=\"649,559\" height=\"279,2592\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Beispiel f&uuml;r ein Datenmakro<\/span><\/b><\/p>\n<p>Dieser soll schlicht den Wert <b>123 <\/b>mit dem <b>ReturnVar <\/b>namens <b>Rueckgabevariable <\/b>liefern. Damit k&ouml;nnen Sie erst etwas anfangen, wenn Sie ihn nach dem Aufruf per VBA abfragen. Das machen die folgenden Zeilen. Wir rufen zuerst mit der Methode <b>DoCmd.RunDataMacro <\/b>das Datenmakro auf (im Format <b><Tabellenname>.<Makroname><\/b>).<\/p>\n<p>Dann geben wir die Anzahl der Elemente der <b>ReturnVars<\/b>-Auflistung aus. Schlie&szlig;lich durchlaufen wir die Auflistung und geben die einzelnen Name-Wert-Paare aus:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objReturnVar<span style=\"color:blue;\"> As <\/span>ReturnVar\r\nDoCmd.RunDataMacro \"tblDatenmakro.dmkRueckgabevariable\"\r\n<span style=\"color:blue;\">Debug.Print<\/span> Application.ReturnVars.Count\r\nFor Each objReturnVar In Application.ReturnVars\r\n     <span style=\"color:blue;\">Debug.Print<\/span> objReturnVar.Name, objReturnVar.Value\r\n<span style=\"color:blue;\">Next<\/span> objReturnVar<\/pre>\n<p>Das Ergebnis lautet:<\/p>\n<pre>Rueckgabevariable            123<\/pre>\n<h2>Run<\/h2>\n<p>Die <b>Run<\/b>-Methode erlaubt das Aufrufen einer Prozedur, ohne diese explizit im Code angeben zu m&uuml;ssen. Die Methode erwartet den Namen der auszuf&uuml;hrenden Prozedur als ersten Parameter. Sollte die Prozedur Parameter erwarten, k&ouml;nnen Sie diese mit den &uuml;brigen Parametern der Methode &uuml;bergeben. <\/p>\n<p>Nehmen wir an, die folgende Prozedur soll aufgerufen werden:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>BeispielRun(strTest<span style=\"color:blue;\"> As String<\/span>)\r\n     <span style=\"color:blue;\">Debug.Print<\/span> strTest\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Dann k&ouml;nnen Sie beispielsweise den folgenden Aufruf verwenden:<\/p>\n<pre>Application.Run \"BeispielRun\", \"Auszugebender Text\"<\/pre>\n<h2>RunCommand<\/h2>\n<p>Die <b>RunCommand<\/b>-Methode erwartet einen Parameter aus der Enumeration <b>acCommand<\/b>. Mit dieser Anweisung k&ouml;nnen Sie nahezu alle Befehle abbilden, die Sie sonst &uuml;ber die Benutzeroberfl&auml;che ausf&uuml;hren &#8211; zum Beispiel das Speichern des aktuellen Datensatzes:<\/p>\n<pre>Application.RunCommand acCmdSaveRecord<\/pre>\n<h2>SaveAsTemplate<\/h2>\n<p>Diese Methode speichert die aktuelle Datenbank als Datenbankvorlage. Mehr dazu lesen Sie im Beitrag <b>Datenbankvorlagen mit Access 2016 <\/b>(<b>www.access-im-unternehmen.de\/1345<\/b>).<\/p>\n<h2>Screen<\/h2>\n<p>Die <b>Screen<\/b>-Eigenschaft liefert ein Objekt, mit dem Sie verschiedene Informationen &uuml;ber die Benutzeroberfl&auml;che abrufen k&ouml;nnen. Die wichtigsten lauten:<\/p>\n<ul>\n<li><b>ActiveControl<\/b>: Steuerelement, das aktuell den Fokus hat<\/li>\n<li><b>ActiveDatasheet<\/b>: Datenblatt, das aktuell den Fokus hat<\/li>\n<li><b>ActiveForm<\/b>: Formular, das aktuell den Fokus hat<\/li>\n<li><b>ActiveReport<\/b>: Bericht, der aktuell den Fokus hat<\/li>\n<li><b>PreviousControl<\/b>: Steuerelement, das vor dem aktuell aktiven Steuerelement den Fokus hatte<\/li>\n<\/ul>\n<h2>SetHiddenAttribute<\/h2>\n<p>Mit der Methode <b>SetHiddenAttribute <\/b>stellen Sie ein, ob ein Access-Objekt als versteckt markiert werden soll.<\/p>\n<p>Versteckte Objekte werden nicht im Navigationsbereich angezeigt. Soll der Benutzer eine Tabelle nicht im Navigationsbereich vorfinden, verstecken Sie diese mit der folgenden Anweisung:<\/p>\n<pre>Application.SetHiddenAttribute acTable,  \"tblMemofelder\", <span style=\"color:blue;\">True<\/span><\/pre>\n<p>Um diese wieder einzublenden, verwenden Sie:<\/p>\n<pre>Application.SetHiddenAttribute acTable,  \"tblMemofelder\", <span style=\"color:blue;\">False<\/span><\/pre>\n<h2>SetOption<\/h2>\n<p>Die Methode <b>SetOption <\/b>dient dem Setzen eines Wertes f&uuml;r eine der Access-Optionen. Die folgende Option macht beispielsweise die ausgeblendeten Access-Objekte im Navigationsbereich sichtbar:<\/p>\n<pre>Application.SetOption \"Show Hidden Objects\", <span style=\"color:blue;\">True<\/span><\/pre>\n<p>Um diese wieder auszublenden, verwenden Sie:<\/p>\n<pre>Application.SetOption \"Show Hidden Objects\", <span style=\"color:blue;\">False<\/span><\/pre>\n<p>Die Optionsnamen und die Parameter haben wir im Beitrag <b>Optionen per VBA f&uuml;r Access 2019 <\/b>(<b>www.access-im-unternehmen.de\/1320<\/b>) f&uuml;r Sie aufgelistet.<\/p>\n<h2>StringFromGUID<\/h2>\n<p>Mit der Funktion <b>StringFromGUID<\/b> k&ouml;nnen Sie den Wert eines Feldes vom Typ <b>Replikations-ID <\/b>als Zeichenkette ausgeben:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n<span style=\"color:blue;\">Dim <\/span>rst<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n<span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n<span style=\"color:blue;\">Set<\/span> rst = db.OpenRecordset(\"SELECT * FROM tblGUIDs\", dbOpenDynaset)\r\n<span style=\"color:blue;\">Debug.Print<\/span> Application.StringFromGUID(rst!GUID)<\/pre>\n<h2>SysCmd<\/h2>\n<p>Funktion, die zum Aufruf einiger nicht dokumentierter Funktionen dient. Mehr dazu erfahren Sie im Beitrag <b>Die SysCmd-Wundert&uuml;te <\/b>(<b>www.access-im-unternehmen.de\/769<\/b>).<\/p>\n<h2>TempVars<\/h2>\n<p>Die <b>TempVars<\/b>-Eigenschaft liefert eine Auflistung von tempor&auml;ren Variablen. Mehr zu diesem Thema lesen Sie im Beitrag <b>Arrays, Collections und Dictionaries <\/b>(<b>www.access-im-unternehmen.de\/640<\/b>)<\/p>\n<h2>TransformXML<\/h2>\n<p>Diese Methode dient zum Transformieren von XML-Dokumenten.<\/p>\n<h2>UserControl<\/h2>\n<p>Gibt an, ob die aktuelle Instanz der Anwendung von einem Benutzer &uuml;ber die Benutzeroberfl&auml;che gestartet wurde oder automatisiert von einer anderen Anwendung aus &#8211; im folgenden Beispiel war es ein Benutzer:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Application.UserControl\r\nWahr<\/pre>\n<h2>VBE<\/h2>\n<p>Diese Eigenschaft liefert einen Verweis auf das VBE-Objekt, dass die Steuerung des VBA-Editors per VBA erlaubt.<\/p>\n<p>Mehr Informationen dar&uuml;ber finden Sie im Beitrag <b>VBA-Editor programmieren <\/b>(<b>www.access-im-unternehmen.de\/1337<\/b>).<\/p>\n<h2>Version<\/h2>\n<p>Liefert die Version der aktuellen Anwendung, beispielsweise <b>16.0<\/b>:<\/p>\n<pre>  Application.Version\r\n16.0<\/pre>\n<h2>Visible<\/h2>\n<p>Diese Eigenschaft gibt an, ob die aktuelle Access-Instanz sichtbar ist oder nicht und erlaubt das Ein- oder Ausblenden dieser Instanz.<\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>ApplicationObjekt.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/9845E0B3-22C6-4AB8-B2C5-57A616F3DC7D\/aiu_1334.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eines der wichtigsten Objekte bei der Programmierung von Access-Anwendungen ist das Application-Objekt. Es bietet viele Eigenschaften und Methoden, die stiefm&uuml;tterlich behandelt werden. Dabei lohnt es sich, einmal einen Blick darauf zu werfen &#8211; dann wei&szlig; man im Fall der F&auml;lle, dass es da irgendwo einen passenden Befehl geben muss &#8230; Dieser Beitrag zeigt eine &Uuml;bersicht der Elemente des Application-Objekts und deren Funktion. In weiteren Beitr&auml;gen schauen wir uns ihre Funktion der einzelnen Eigenschaften und Methoden im Detail an.<\/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":[662021,66062021,44000025],"tags":[],"class_list":["post-55001334","post","type-post","status-publish","format-standard","hentry","category-662021","category-66062021","category-VBA_und_Programmiertechniken"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Das Application-Objekt - 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\/Das_ApplicationObjekt\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Das Application-Objekt\" \/>\n<meta property=\"og:description\" content=\"Eines der wichtigsten Objekte bei der Programmierung von Access-Anwendungen ist das Application-Objekt. Es bietet viele Eigenschaften und Methoden, die stiefm&uuml;tterlich behandelt werden. Dabei lohnt es sich, einmal einen Blick darauf zu werfen - dann wei&szlig; man im Fall der F&auml;lle, dass es da irgendwo einen passenden Befehl geben muss ... Dieser Beitrag zeigt eine &Uuml;bersicht der Elemente des Application-Objekts und deren Funktion. In weiteren Beitr&auml;gen schauen wir uns ihre Funktion der einzelnen Eigenschaften und Methoden im Detail an.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-10T07:39:49+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/e70f6e61355f4a2fa1ed120a0159e723\" \/>\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=\"30\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Das Application-Objekt\",\"datePublished\":\"2021-12-10T07:39:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/\"},\"wordCount\":5182,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/e70f6e61355f4a2fa1ed120a0159e723\",\"articleSection\":[\"2021\",\"6\\\/2021\",\"VBA und Programmiertechniken\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/\",\"name\":\"Das Application-Objekt - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/e70f6e61355f4a2fa1ed120a0159e723\",\"datePublished\":\"2021-12-10T07:39:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/e70f6e61355f4a2fa1ed120a0159e723\",\"contentUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/e70f6e61355f4a2fa1ed120a0159e723\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_ApplicationObjekt\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Das Application-Objekt\"}]},{\"@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":"Das Application-Objekt - 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\/Das_ApplicationObjekt\/","og_locale":"de_DE","og_type":"article","og_title":"Das Application-Objekt","og_description":"Eines der wichtigsten Objekte bei der Programmierung von Access-Anwendungen ist das Application-Objekt. Es bietet viele Eigenschaften und Methoden, die stiefm&uuml;tterlich behandelt werden. Dabei lohnt es sich, einmal einen Blick darauf zu werfen - dann wei&szlig; man im Fall der F&auml;lle, dass es da irgendwo einen passenden Befehl geben muss ... Dieser Beitrag zeigt eine &Uuml;bersicht der Elemente des Application-Objekts und deren Funktion. In weiteren Beitr&auml;gen schauen wir uns ihre Funktion der einzelnen Eigenschaften und Methoden im Detail an.","og_url":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-12-10T07:39:49+00:00","og_image":[{"url":"http:\/\/vg07.met.vgwort.de\/na\/e70f6e61355f4a2fa1ed120a0159e723","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"30\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Das Application-Objekt","datePublished":"2021-12-10T07:39:49+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/"},"wordCount":5182,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/e70f6e61355f4a2fa1ed120a0159e723","articleSection":["2021","6\/2021","VBA und Programmiertechniken"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/","url":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/","name":"Das Application-Objekt - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/e70f6e61355f4a2fa1ed120a0159e723","datePublished":"2021-12-10T07:39:49+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/#primaryimage","url":"http:\/\/vg07.met.vgwort.de\/na\/e70f6e61355f4a2fa1ed120a0159e723","contentUrl":"http:\/\/vg07.met.vgwort.de\/na\/e70f6e61355f4a2fa1ed120a0159e723"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Das_ApplicationObjekt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Das Application-Objekt"}]},{"@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\/55001334","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=55001334"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001334\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}