{"id":55001435,"date":"2023-06-01T00:00:00","date_gmt":"2023-06-17T09:27:16","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1435"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Probleme_bei_Verweisen_mit_verschiedenen_Versionen","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/","title":{"rendered":"Probleme bei Verweisen mit verschiedenen Versionen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/ff6c27b8565d448e8967774728add7d6\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Wenn Sie Datenbanken entwickeln, die auf Rechnern eingesetzt werden sollen, die eine &auml;ltere Version von Office verwenden, kann es zu Problemen kommen. Abgesehen davon, dass die Datenbank Funktionen enthalten k&ouml;nnte, die auf der Zielplattform nicht verf&uuml;gbar sind, kommt es vor allem zu Problemen mit Verweisen. Ein Beispiel sind Verweise auf die Office-Anwendungen. Haben Sie Verweise zu den Bibliotheken von Word, Excel, Outlook et cetera, die sich auf die aktuelle Office-Version beziehen, und stellt der Zielrechner diese nicht bereit, kann es sein, dass die Anwendung nicht wie gew&uuml;nscht funktioniert. Wir schauen uns an, wie die Probleme entstehen und wie wir diese l&ouml;sen k&ouml;nnen.<\/p>\n<p><b>Video passend zu diesem Artikel:<\/b><\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/fy5WbFIMzYI\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/b><\/p>\n<h2>Ausgangssituation<\/h2>\n<p>Es gibt verschiedene Konstellationen, die Probleme mit Verweisen beg&uuml;nstigen. Wir schauen uns in diesem Beitrag eine davon an &#8211; dabei entwickeln wir eine Access-Datenbank, welche Verweise der Version 16.0 von Office hinzuf&uuml;gt und geben diese dann weiter an einen Rechner, bei dem noch die Version 14.0 verwendet wird.<\/p>\n<p>Entsprechend der Version 16.0 von Office landen auch die mit Office gelieferten Bibliotheken in dieser Version in der Datenbank, genauer gesagt im <b>Verweise<\/b>-Dialog des VBA-Projekts (siehe Bild 1). Hier haben wir Verweise auf die Bibliotheken f&uuml;r Excel, Office, Outlook und Word jeweils in der Version 16.0 hinzugef&uuml;gt &#8211; eine andere war auch nicht verf&uuml;gbar.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_03\/pic_1435_002.png\" alt=\"Ausgangssituation im Verweise-Dialog\" width=\"499,5589\" height=\"393,8207\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Ausgangssituation im Verweise-Dialog<\/span><\/b><\/p>\n<h2>Test auf einem &auml;lteren System<\/h2>\n<p>Danach haben wir diese Datenbankdatei auf eine virtuelle Maschine kopiert und diese dort ge&ouml;ffnet. Da die Datenbank bis auf die hinzugef&uuml;gten Verweise leer ist, treten beim &Ouml;ffnen auch keine Probleme auf &#8211; wie es sonst der Fall ist, wenn man beispielsweise direkt VBA-Code ausf&uuml;hrt, der aufgrund fehlender oder fehlerhafter Verweise zu Fehlern f&uuml;hrt. Wechseln wir dann jedoch in den VBA-Editor und &ouml;ffnen den <b>Verweise<\/b>-Dialog, finden wir die Situation aus Bild 2 vor.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_03\/pic_1435_001.png\" alt=\"Einige Verweise werden als NICHT VORHANDEN gekennzeichnet.\" width=\"499,5589\" height=\"298,0562\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Einige Verweise werden als NICHT VORHANDEN gekennzeichnet.<\/span><\/b><\/p>\n<p>Einige der hinzugef&uuml;gten Verweise, namentlich die f&uuml;r die Excel-, Outlook- und Word-Bibliotheken, werden als <b>NICHT VORHANDEN <\/b>markiert. Dementsprechend k&ouml;nnen wir die Elemente dieser Verweise auch nicht unter VBA nutzen.<\/p>\n<h2>Manuelles Beheben des Fehlers<\/h2>\n<p>Wenn die Datenbank in der Variante mit offenem Quellcode, also nicht als <b>.accde<\/b>-Datenbank, weitergegeben wurde, k&ouml;nnen Sie ihm Anweisungen zum Beheben des Problems geben.<\/p>\n<p>M&ouml;glicherweise versucht er, einfach die richtigen Verweise hinzuzuf&uuml;gen, also beispielsweise den Verweis auf die Bibliothek <b>Microsoft Excel 14.0 Object Library<\/b>. Der Versuch ist m&ouml;glich, allerdings m&uuml;ndet dieser in der Anzeige der Fehlermeldung aus Bild 3.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_03\/pic_1435_003.png\" alt=\"Fehler beim Versuch, einen Verweis durch den &auml;lteren Verweis zu ersetzen\" width=\"499,5589\" height=\"179,1101\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Fehler beim Versuch, einen Verweis durch den &auml;lteren Verweis zu ersetzen<\/span><\/b><\/p>\n<p>Das Problem entsteht dadurch, dass die beiden Bibliotheken die gleiche GUID aufweisen und wir nicht zwei Verweise mit der gleichen GUID zu den Verweisen eines Projekts hinzuf&uuml;gen k&ouml;nnen.<\/p>\n<p>Der korrekte Weg w&auml;re, die als <b>NICHT VORHANDEN <\/b>markierten Eintr&auml;ge zun&auml;chst zu entfernen, indem man die Haken aus den entsprechenden Kontrollk&auml;stchen entfernt (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_03\/pic_1435_004.png\" alt=\"Entfernen der als NICHT VORHANDEN markierten Verweise\" width=\"499,5589\" height=\"388,4259\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Entfernen der als NICHT VORHANDEN markierten Verweise<\/span><\/b><\/p>\n<p>Anschlie&szlig;end f&uuml;gt man einfach die gew&uuml;nschten Verweise in der verf&uuml;gbaren Version erneut hinzu (siehe Bild 5). Sofern die &uuml;bermittelte Datenbank keine Objekte, Eigenschaften oder Methoden einer neueren Version der Bibliotheken verwendet, sollte die Anwendung nun funktionieren.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_03\/pic_1435_005.png\" alt=\"Hinzuf&uuml;gen der Verweise in der ben&ouml;tigten Version, hier 14.0\" width=\"349,5589\" height=\"263,7664\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Hinzuf&uuml;gen der Verweise in der ben&ouml;tigten Version, hier 14.0<\/span><\/b><\/p>\n<h2>Automatisiertes Anpassen der Verweise<\/h2>\n<p>Allerding wollen wir dem Benutzer kaum zumuten, mit jeder neuen Version unserer Datenbankanwendung die Verweise neu einzustellen. Also &uuml;berlegen wir uns einen Weg, wie wir dies per VBA automatisieren k&ouml;nnen. Wie nicht anders zu erwarten, bietet das Objektmodell von Access die M&ouml;glichkeit des Zugriffs auf die Verweise.<\/p>\n<h2>Verweise per VBA erneuern<\/h2>\n<p>Theoretisch sollte es m&ouml;glich sein, die Verweise einer Anwendung, die als <b>NICHT VORHANDEN <\/b>markiert sind, per VBA zu erneuern &#8211; vorausgesetzt, diese sind auf dem Zielrechner vorhanden und installiert. Dabei gibt es allerdings Ausnahmen wie beispielsweise die in diesem Beispiel verwendeten Verweise.<\/p>\n<p>Wir haben einmal versucht, die Eintr&auml;ge f&uuml;r die nicht vorhandenen Verweise auf dem Zielrechner mit Office 14 zu entfernen.<\/p>\n<p>Dazu haben wir die folgende Prozedur verwendet. Diese durchl&auml;uft in einer <b>For&#8230;Next<\/b>-Schleife mit der Schrittweite <b>-1 <\/b>alle Referenzen in einer Schleife von der Anzahl der Verweise bis zum Wert <b>1<\/b>. Innerhalb der Schleife referenziert die Prozedur die Referenz mit dem Index aus der Variablen <b>lngIndex <\/b>mit der Variablen <b>ref<\/b>.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>RemoveBrokenReferences()\r\n     <span style=\"color:blue;\">Dim <\/span>ref<span style=\"color:blue;\"> As <\/span>Reference\r\n     <span style=\"color:blue;\">Dim <\/span>lngIndex<span style=\"color:blue;\"> As Long<\/span>\r\n     For lngIndex = References.Count To 1 Step -1\r\n         <span style=\"color:blue;\">Set<\/span> ref = References(lngIndex)\r\n         <span style=\"color:blue;\">If <\/span>ref.IsBroken<span style=\"color:blue;\"> Then<\/span>\r\n             References.Remove ref\r\n         <span style=\"color:blue;\">End If<\/span>\r\n     <span style=\"color:blue;\">Next<\/span> lngIndex\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Wenn sie auf den ersten Verweis mit dem Vermerk <b>NICHT VORHANDEN <\/b>st&ouml;&szlig;t, l&ouml;st dies den Fehler aus Bild 6 aus. Was geschieht hier? Offensichtlich kann die Bibliothek hinter diesem Verweis nicht gefunden werden, und das Problem ist, dass VBA den Verweis nicht entfernen kann, wenn die Bibliothek nicht vorhanden ist.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_03\/pic_1435_006.png\" alt=\"Fehler beim Versuch, einen nicht vorhandene Verweis per VBA zu entfernen\" width=\"499,5589\" height=\"278,025\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Fehler beim Versuch, einen nicht vorhandene Verweis per VBA zu entfernen<\/span><\/b><\/p>\n<p>Ehrlich gesagt haben wir keine Methode gefunden, wie man diese Verweise dennoch entfernen kann. Daher empfehlen wir eine von zwei alternativen Methoden.<\/p>\n<h2>Alternative Methoden f&uuml;r Verweisprobleme<\/h2>\n<p>[<\/p>\n<p>Es gibt beispielsweise die folgenden beiden M&ouml;glichkeiten, um die beschriebenen Probleme mit Verweisen zu umgehen:<\/p>\n<ul>\n<li>Gar nicht erst mit Verweisen arbeiten und Late Binding nutzen. Dabei arbeitet man nicht mit expliziten Deklarationen wie etwa <b>Dim objWord As Word.Application<\/b>, sondern mit <b>Dim objWord As Object<\/b>. Der Vorteil ist: Man ben&ouml;tigt keine Verweise. Der Nachteil: Die Verwendung von IntelliSense f&auml;llt weg.<\/li>\n<li>Die Verweise erst beim ersten &Ouml;ffnen der Anwendung nach der Weitergabe an den Zielrechner setzen. Dabei w&uuml;rde man vor der Weitergabe alle relevanten Verweise entfernen und diese durch eine automatisch gestartete VBA-Prozedur beim erneuten Aufrufen der Anwendung neu setzen. Die Verweisdaten w&uuml;rden wir dabei in einer Tabelle speichern und sie beim erneuten Setzen aus der Tabelle auslesen.<\/li>\n<\/ul>\n<h2>Verweise erst nach Weitergabe setzen<\/h2>\n<p>Wir schauen uns die zweite Methode im Detail an. Dabei wollen wir uns nur um die Verweise k&uuml;mmern, die nicht standardm&auml;&szlig;ig verwendet werden, also in einer neuen Anwendung noch nicht vorhanden sind. Als Erstes legen wir die Tabelle an, in der wir die anzulegenden Verweise speichern. Diese definieren wir wie in Bild 7.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_03\/pic_1435_007.png\" alt=\"Entwurf der Tabelle zum Speichern der anzulegenden Verweise\" width=\"499,5589\" height=\"357,2067\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Entwurf der Tabelle zum Speichern der anzulegenden Verweise<\/span><\/b><\/p>\n<p>Die Tabelle enth&auml;lt ein Prim&auml;rschl&uuml;sselfeld namens <b>ReferenceID <\/b>und zwei weitere Felder. Das Feld <b>ReferenceGUID <\/b>speichert die GUID des Verweises, das Feld <b>ReferenceName <\/b>den Namen. Letzteres Feld ist nur vorhanden, damit wir wissen, zu welchem Verweis die GUID aus dem Feld <b>ReferenceGUID <\/b>geh&ouml;rt. F&uuml;r das Feld <b>ReferenceGUID<\/b> legen wir einen eindeutigen Index fest, damit jeder Verweis nur einmal in die Tabelle aufgenommen wird &#8211; ein mehrfaches Hinzuf&uuml;gen des gleichen Verweises w&uuml;rde auf dem Zielrechner ohnehin zu einem Fehler f&uuml;hren.<\/p>\n<h2>Eintragen der Verweise in die Tabelle<\/h2>\n<p>Die Daten der Verweise wollen wir nicht von Hand in die Tabelle eintragen, sondern per VBA. Dazu erstellen wir eine Prozedur namens <b>SaveReferences<\/b>. Diese leert zun&auml;chst die Tabelle <b>tblReferences <\/b>mit der <b>Execute<\/b>-Methode des <b>Database<\/b>-Objekts der aktuellen Datenbank und einer <b>DELETE<\/b>-Abfrage als Befehl (siehe Listing 1).<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>SaveReferences()\r\n     <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n     <span style=\"color:blue;\">Dim <\/span>ref<span style=\"color:blue;\"> As <\/span>Reference\r\n     <span style=\"color:blue;\">Dim <\/span>strSQL<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n     db.Execute \"DELETE FROM tblReferences\", dbFailOnError\r\n     For Each ref In References\r\n         <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> ref.BuiltIn<span style=\"color:blue;\"> Then<\/span>\r\n             strSQL = \"INSERT INTO tblReferences(ReferenceGUID, ReferenceName) VALUES(''\" & ref.Guid & \"'', ''\" _\r\n                 & ref.Name & \"'')\"\r\n             db.Execute strSQL, dbFailOnError\r\n         <span style=\"color:blue;\">End If<\/span>\r\n     <span style=\"color:blue;\">Next<\/span> ref\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Speichern aller Verweise mit Ausnahme der eingebauten in einer Tabelle<\/span><\/b><\/p>\n<p>Danach durchlaufen wir in einer <b>For Each<\/b>-Schleife alle <b>Reference<\/b>-Objekte der <b>References<\/b>-Auflistung, was der Liste der Verweise im <b>Verweise<\/b>-Dialog entspricht. Innerhalb dieser Schleife pr&uuml;fen wir mit der Eigenschaft <b>BuiltIn <\/b>des <b>Reference<\/b>-Objekts, ob der aktuelle Verweis ein eingebauter Verweis ist. Das sind in der Regel nur die beiden Verweise <b>Visual Basic for Applications <\/b>und <b>Microsoft Access 16.0 Object Library<\/b>. Ist das nicht der Fall, tragen wir die GUID und den Namen des Verweises in jeweils einem neuen Datensatz der Tabelle ein. Dazu f&uuml;gen wir in einer Variablen namens <b>strSQL <\/b>eine Anweisung wie die folgende zusammen:<\/p>\n<pre>INSERT INTO tblReferences(ReferenceGUID, ReferenceName)\r\nVALUES(''{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}'', ''DAO'')<\/pre>\n<p>Diese &uuml;bergeben wir anschlie&szlig;end der <b>Execute<\/b>-Methode und f&uuml;gen so den gew&uuml;nschten Datensatz zur Tabelle <b>tblReferences <\/b>hinzu.<\/p>\n<p>Auf diese Weise durchlaufen wir alle Verweise und schreiben diese in die Tabelle, sodass diese anschlie&szlig;end wie in Bild 8 aussieht.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_03\/pic_1435_008.png\" alt=\"Tabelle mit den aktuellen nicht eingebauten Verweisen\" width=\"499,5589\" height=\"202,668\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Tabelle mit den aktuellen nicht eingebauten Verweisen<\/span><\/b><\/p>\n<h2>Verweise vor der Weitergabe entfernen<\/h2>\n<p>Damit wir die Verweise nach dem Weitergeben ohne Probleme wieder zur Verweise-Liste hinzuf&uuml;gen k&ouml;nnen, m&uuml;ssen wir diese zuvor entfernen. Manche k&ouml;nnten wir zwar per Code l&ouml;schen oder auch pr&uuml;fen, ob diese nicht bereits vorhanden sind, aber warum nicht ordentlich arbeiten?<\/p>\n<p>Also nutzen wir eine weitere Prozedur namens <b>RemoveSavedReferences<\/b>, um die in der Tabelle gespeicherten Verweise aus der <b>References<\/b>-Auflistung des VBA-Projekts zu entfernen. Dazu erstellen wir ein Recordset auf Basis der Tabelle <b>tblReferences <\/b>und durchlaufen seine Datens&auml;tze in einer <b>Do While<\/b>-Schleife (siehe Listing 2).<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>RemoveSavedReferences()\r\n     <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 tblReferences\", dbOpenDynaset)\r\n     <span style=\"color:blue;\">Do While<\/span> <span style=\"color:blue;\">Not<\/span> rst.EOF\r\n         References.Remove References.Item(CStr(rst!ReferenceName))\r\n         rst.Move<span style=\"color:blue;\">Next<\/span>\r\n     <span style=\"color:blue;\">Loop<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 2: Entfernen aller in der Tabelle gespeicherten Verweise aus dem VBA-Projekt<\/span><\/b><\/p>\n<p>Innerhalb dieser Schleife rufen wir die <b>Remove<\/b>-Methode der <b>References<\/b>-Auflistung auf und &uuml;bergeben einen Verweis auf das jeweils zu entfernende <b>Reference<\/b>-Objekt. Dieses holen wir &uuml;ber die <b>Item<\/b>-Eigenschaft, der wir den Namen als Parameter &uuml;bergeben. Diesen m&uuml;ssen wir &uuml;brigens zuvor mit der Funktion <b>CStr<\/b> in eine Zeichenkette umwandeln. So leeren wir die <b>References<\/b>-Auflistung, sodass der <b>Verweise<\/b>-Dialog anschlie&szlig;end wie in Bild 9 aussieht.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_03\/pic_1435_009.png\" alt=\"Der ausged&uuml;nnte Verweise-Dialog\" width=\"499,5589\" height=\"393,8207\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Der ausged&uuml;nnte Verweise-Dialog<\/span><\/b><\/p>\n<h2>Verweise beim ersten Start wiederherstellen<\/h2>\n<p>Damit haben wir die Anwendung in einen Zustand gebracht, in dem sie auf einem Rechner, auf dem sie zuvor nicht alle Verweise nutzen konnte, keine fehlerhaften Verweise mehr enth&auml;lt.<\/p>\n<p>Allerdings f&uuml;hrt der Code, der auf Elemente dieser Bibliotheken zugreift, nun zu Fehlern. Also m&uuml;ssen wir, bevor in der Datenbank VBA-Code verwendet wird, der auf den aktuell nicht vorhandenen Bibliotheken basiert, die Verweise wiederherstellen.<\/p>\n<p>Das ist allerdings nur beim ersten Start notwendig. Nun kommt es darauf an, ob die Anwendung ohnehin bereits beim Start VBA-Code ausf&uuml;hrt.<\/p>\n<p>Dazu gibt es verschiedene M&ouml;glichkeiten, zu denen wir bereits ausf&uuml;hrliche Beitr&auml;ge ver&ouml;ffentlicht haben:<\/p>\n<ul>\n<li>Aufruf von VBA-Code &uuml;ber die Aktion <b>Ausf&uuml;hrenCode <\/b>des <b>AutoExec<\/b>-Makros: <b>Code beim &Ouml;ffnen der Anwendung: AutoExec <\/b>(<b>www.access-im-unternehmen.de\/1367<\/b>)<\/li>\n<li>Aufruf von Code &uuml;ber ein Formular, das als Startformular angegeben wurde: <b>Code beim &Ouml;ffnen der Anwendung: Formular <\/b>(<b>www.access-im-unternehmen.de\/1368<\/b>)<\/li>\n<li>Aufruf von Code beim Anzeigen des Ribbons: <b>Code beim &Ouml;ffnen der Anwendung: Ribbon <\/b>(<b>www.access-im-unternehmen.de\/1369<\/b>)<\/li>\n<\/ul>\n<p>Wir wollen in diesem Beitrag die zweite Methode mit der Verwendung eines Formulars nutzen. Dazu erstellen wir ein Formular beispielsweise namens <b>frmStart<\/b>. Diesem f&uuml;gen wir f&uuml;r das Ereignis <b>Beim &Ouml;ffnen <\/b>die folgende Ereignisprozedur hinzu:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Open(Cancel<span style=\"color:blue;\"> As Integer<\/span>)\r\n     RestoreSavedReferences\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Diese Prozedur ruft lediglich eine weitere Prozedur namens <b>RestoreSavedReferences<\/b> auf, die wir in Listing 3 sehen.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>RestoreSavedReferences()\r\n     <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As Object<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>rst<span style=\"color:blue;\"> As Object<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>lngMajor<span style=\"color:blue;\"> As Long<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>lngMinor<span style=\"color:blue;\"> As Long<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>ref<span style=\"color:blue;\"> As <\/span>Reference\r\n     <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n     <span style=\"color:blue;\">Set<\/span> rst = db.OpenRecordset(\"SELECT * FROM tblReferences\", 2)\r\n     <span style=\"color:blue;\">Do While<\/span> <span style=\"color:blue;\">Not<\/span> rst.EOF\r\n         On Error Resume <span style=\"color:blue;\">Next<\/span>\r\n         <span style=\"color:blue;\">Set<\/span> ref = Nothing\r\n         <span style=\"color:blue;\">Set<\/span> ref = References.AddFromGuid(rst!ReferenceGuid, lngMajor, lngMinor)\r\n         <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> ref Is Nothing<span style=\"color:blue;\"> Then<\/span>\r\n             <span style=\"color:blue;\">Debug.Print<\/span> \"Verweis ''\" & rst!ReferenceName & \"'' angelegt.\"\r\n         <span style=\"color:blue;\">Else<\/span>\r\n             <span style=\"color:blue;\">Set<\/span> ref = References.Item(CStr(rst!ReferenceName))\r\n             <span style=\"color:blue;\">If <\/span>ref Is Nothing<span style=\"color:blue;\"> Then<\/span>\r\n                 <span style=\"color:blue;\">MsgBox<\/span> \"Der Verweis ''\" & rst!ReferenceName & \"'' konnte erstellt werden.\"\r\n             <span style=\"color:blue;\">End If<\/span>\r\n         <span style=\"color:blue;\">End If<\/span>\r\n         <span style=\"color:blue;\">On Error GoTo<\/span> 0\r\n         rst.Move<span style=\"color:blue;\">Next<\/span>\r\n     <span style=\"color:blue;\">Loop<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 3: Wiederherstellen der Verweise aus der Tabelle tblReferences<\/span><\/b><\/p>\n<p>Die Prozedur sieht zu Beginn etwas anders aus als &uuml;blich. Die beiden Variablen <b>db <\/b>und <b>rst <\/b>werden nicht als <b>DAO.Database <\/b>und <b>DAO.Recordset <\/b>deklariert, sondern jeweils als <b>Object<\/b>. Dabei handelt es sich um das sogenannte Late Binding. Weiter unten gibt es noch eine Besonderheit: Statt der Konstanten <b>dbOpenDynaset <\/b>haben wir der <b>OpenRecordset<\/b>-Methode als zweiten Parameter den Wert <b>2 <\/b>&uuml;bergeben.<\/p>\n<p>Warum machen wir das bei dieser Prozedur? Weil wir, wie weiter oben beschreiben, s&auml;mtliche nicht eingebauten Referenzen aus der <b>References<\/b>-Auflistung entfernt haben, unter anderem auch den Verweis auf die Bibliothek <b>Microsoft Office 16.0 Access database engine Object Library<\/b>.<\/p>\n<p>Wenn wir in diesem Zustand beim ersten Start der Datenbank nach der Weitergabe auf den Zielrechner versuchen, auf die darin enthaltenen Objekte wie Database oder Recordset zuzugreifen, erhalten wir Laufzeitfehler. Also entfernen wir alle entsprechenden Deklarationen und Elemente, damit der Code ohne Probleme ausgef&uuml;hrt werden kann.<\/p>\n<p>Die Prozedur erstellt ein Recordset auf Basis der Tabelle <b>tblReferences<\/b>. Dann durchl&auml;uft sie alle Datens&auml;tze des Recordsets und deaktiviert gleich zu Beginn die eingebaute Fehlerbehandlung. Der Grund ist, dass es sein kann, dass diese Prozedur erneut aufgerufen wird, obwohl ein oder mehrere Verweise aus der Tabelle bereits vorhanden sind. Ist das der Fall, w&uuml;rde das erneute Anlegen wiederum einen Fehler ausl&ouml;sen. Diesen wollen wir schlicht unterbinden.<\/p>\n<p>Die Prozedur leert dann die Variable <b>ref <\/b>des Typs <b>Reference <\/b>und f&uuml;llt sie mit dem Ergebnis der <b>AddFromGuid<\/b>-Methode, mit der wir die Verweise aus der Tabelle auf Basis der darin gespeicherten GUIDs zur <b>References<\/b>-Liste hinzuf&uuml;gen. Der zweite und der dritte Parameter sind Pflichtparameter, die wir in Form der leeren Variablen <b>lngMajor <\/b>und <b>lngMinor <\/b>&uuml;bergeben. Wurde der Verweis erfolgreich erstellt, geben wir einen Hinweis darauf im Direktbereich aus. Anderenfalls pr&uuml;fen wir, ob der Verweis gegebenenfalls bereits vorhanden ist. Ist auch das nicht der Fall, geben wir eine entsprechende Fehlermeldung aus. Auf diese Weise f&uuml;gt die Prozedur alle Verweise wieder zur Datenbank hinzu.<\/p>\n<h2>Startformular festlegen<\/h2>\n<p>Damit brauchen wir nur noch das Startformular in den Access-Optionen festzulegen, die Verweise mit der Prozedur <b>SaveReferences<\/b> in der Tabelle zu speichern und mit <b>RemoveSavedReferences<\/b> zu l&ouml;schen. Nach der Weitergabe der Datenbank brauchen wir nur noch die Prozedur <b>RestoreSavedReferences<\/b> aufzurufen. &Ouml;ffnen wir anschlie&szlig;end auf dem Zielrechner, auf dem in unserem Fall Access 2010 installiert ist (mit den 14.0-Bibliotheken), den <b>Verweise<\/b>-Dialog, sehen wir dort, dass alle ben&ouml;tigten Verweise wieder vorhanden sind (siehe Bild 10).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_03\/pic_1435_011.png\" alt=\"Alle Verweise sind vorhanden.\" width=\"424,5589\" height=\"273,4252\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: Alle Verweise sind vorhanden.<\/span><\/b><\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>VerweisproblemeBeiVerschiedenenAccessVersionen.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/901491F1-104B-4B9A-81F9-735B4E1611B2\/aiu_1435.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn Sie Datenbanken entwickeln, die auf Rechnern eingesetzt werden sollen, die eine &auml;ltere Version von Office verwenden, kann es zu Problemem kommen. Abgesehen davon, dass die Datenbank Funktionen enthalten k&ouml;nnte, die auf der Zielplattform nicht verf&uuml;gbar sind, kommt es vor allem zu Problemen mit Verweisen. Ein Beispiel sind Verweise auf die Office-Anwendungen. Haben Sie Verweise zu den Bibliotheken von Word, Excel, Outlook et cetera, die sich auf die aktuelle Office-Version beziehen, und stellt der Zielrechner diese nicht bereit, kann es sein, dass die Anwendung nicht wie gew&uuml;nscht funktioniert. Wir schauen uns an, wie die Probleme entstehen und wie wir diese l&ouml;sen 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":[662023,66032023,44000025],"tags":[],"class_list":["post-55001435","post","type-post","status-publish","format-standard","hentry","category-662023","category-66032023","category-VBA_und_Programmiertechniken"],"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>Probleme bei Verweisen mit verschiedenen Versionen - 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\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Probleme bei Verweisen mit verschiedenen Versionen\" \/>\n<meta property=\"og:description\" content=\"Wenn Sie Datenbanken entwickeln, die auf Rechnern eingesetzt werden sollen, die eine &auml;ltere Version von Office verwenden, kann es zu Problemem kommen. Abgesehen davon, dass die Datenbank Funktionen enthalten k&ouml;nnte, die auf der Zielplattform nicht verf&uuml;gbar sind, kommt es vor allem zu Problemen mit Verweisen. Ein Beispiel sind Verweise auf die Office-Anwendungen. Haben Sie Verweise zu den Bibliotheken von Word, Excel, Outlook et cetera, die sich auf die aktuelle Office-Version beziehen, und stellt der Zielrechner diese nicht bereit, kann es sein, dass die Anwendung nicht wie gew&uuml;nscht funktioniert. Wir schauen uns an, wie die Probleme entstehen und wie wir diese l&ouml;sen k&ouml;nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-17T09:27:16+00:00\" \/>\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=\"12\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Probleme bei Verweisen mit verschiedenen Versionen\",\"datePublished\":\"2023-06-17T09:27:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/\"},\"wordCount\":2208,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/ff6c27b8565d448e8967774728add7d6\",\"articleSection\":[\"2023\",\"3\\\/2023\",\"VBA und Programmiertechniken\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/\",\"name\":\"Probleme bei Verweisen mit verschiedenen Versionen - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/ff6c27b8565d448e8967774728add7d6\",\"datePublished\":\"2023-06-17T09:27:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/ff6c27b8565d448e8967774728add7d6\",\"contentUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/ff6c27b8565d448e8967774728add7d6\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Probleme bei Verweisen mit verschiedenen Versionen\"}]},{\"@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":"Probleme bei Verweisen mit verschiedenen Versionen - 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\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/","og_locale":"de_DE","og_type":"article","og_title":"Probleme bei Verweisen mit verschiedenen Versionen","og_description":"Wenn Sie Datenbanken entwickeln, die auf Rechnern eingesetzt werden sollen, die eine &auml;ltere Version von Office verwenden, kann es zu Problemem kommen. Abgesehen davon, dass die Datenbank Funktionen enthalten k&ouml;nnte, die auf der Zielplattform nicht verf&uuml;gbar sind, kommt es vor allem zu Problemen mit Verweisen. Ein Beispiel sind Verweise auf die Office-Anwendungen. Haben Sie Verweise zu den Bibliotheken von Word, Excel, Outlook et cetera, die sich auf die aktuelle Office-Version beziehen, und stellt der Zielrechner diese nicht bereit, kann es sein, dass die Anwendung nicht wie gew&uuml;nscht funktioniert. Wir schauen uns an, wie die Probleme entstehen und wie wir diese l&ouml;sen k&ouml;nnen.","og_url":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/","og_site_name":"Access im Unternehmen","article_published_time":"2023-06-17T09:27:16+00:00","author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"12\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Probleme bei Verweisen mit verschiedenen Versionen","datePublished":"2023-06-17T09:27:16+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/"},"wordCount":2208,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/ff6c27b8565d448e8967774728add7d6","articleSection":["2023","3\/2023","VBA und Programmiertechniken"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/","url":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/","name":"Probleme bei Verweisen mit verschiedenen Versionen - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/ff6c27b8565d448e8967774728add7d6","datePublished":"2023-06-17T09:27:16+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/#primaryimage","url":"http:\/\/vg08.met.vgwort.de\/na\/ff6c27b8565d448e8967774728add7d6","contentUrl":"http:\/\/vg08.met.vgwort.de\/na\/ff6c27b8565d448e8967774728add7d6"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Probleme_bei_Verweisen_mit_verschiedenen_Versionen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Probleme bei Verweisen mit verschiedenen Versionen"}]},{"@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\/55001435","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=55001435"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001435\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}