{"id":55000652,"date":"2009-02-01T00:00:00","date_gmt":"2020-05-22T22:33:07","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=652"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Tipps_und_Tricks_12009","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/","title":{"rendered":"Tipps und Tricks 1\/2009"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/77d7bff25b73416cb2e121372d720c66\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Es sind die kleinen Kniffe, die uns den Alltag beim Programmieren von Access-Anwendungen erleichtern. In dieser Ausgabe von Access im Unternehmen zeigen wir Ihnen zum Beispiel, wie Sie den Datensatzwechsel in Formularen steuern, bei Problemen mit DoCmd.OpenForms reagieren oder einen kompletten Datensatz im Endlosformular markieren.<\/b><\/p>\n<p class=\"zwischen-berschrift-oberer-spaltenrand\">Dateneingabe ohne Datensatzwechsel<\/p>\n<p>Wenn Sie Detaildaten wie etwa einen Kunden, einen Artikel oder &auml;hnliches eingeben, verwenden Sie in der Regel ein entsprechendes Formular, das nur zur Eingabe dieser Daten dient.<\/p>\n<p>Beim Aufruf dieses Formulars geben Sie mit dem Parameter <b>DataMode <\/b>in der folgenden Anweisung direkt an, dass nun ein neuer Datensatz eingegeben werden soll:<\/p>\n<pre>DoCmd.OpenForm &quot;Formularname&quot;, DataMode:=acFormAdd<\/pre>\n<p>Damit wei&szlig; das Formular, dass es direkt einen neuen, leeren Datensatz anzeigen und alle anderen Datens&auml;tze der Datenherkunft ausblenden soll.<\/p>\n<p>Wenn Sie die Eigenschaften <b>Trennlinie<\/b>, <b>Navigationsbereich <\/b>und <b>Datensatzmarkierer <\/b>auf <b>Nein <\/b>einstellen, befreien Sie das Formular &uuml;berdies von unn&ouml;tigem Schnickschnack, den man beim Anlegen eines einfachen Datensatzes nicht braucht.<\/p>\n<p>Der Benutzer kann hiermit keinen Unsinn mehr anstellen &#8211; es sei denn, er springt mit der Eingabe- oder Tabulator-Taste bis zum letzten Steuerelement in der Aktivierreihenfolge und dar&uuml;ber hinaus, dann gelangt er n&auml;mlich in einen neuen Datensatz.<\/p>\n<p>Das k&ouml;nnen Sie allerdings leicht unterbinden: Stellen Sie dazu einfach die Eigenschaft <b>Zyklus <\/b>des Formulars auf den Wert <b>Aktueller Datensatz <\/b>ein. Der Fokus wechselt dann vom letzten Steuerelement der Aktivierreihenfolge zum ersten Steuerelement des Formulars.<\/p>\n<p><b>DoCmd.OpenForm-Argumente funktionieren nicht<\/b><\/p>\n<p>W&auml;hrend der Entwicklung von Formularen treten manchmal nicht nachvollziehbare Probleme auf.<\/p>\n<p>So kann es zum Beispiel vorkommen, dass Sie ein Formular mit einer Anweisung wie der folgenden aufrufen, aber das mit dem Parameter <b>OpenArgs<\/b> &uuml;bergebene &Ouml;ffnungsargument einfach nicht beim Formular ankommt:<\/p>\n<pre>DoCmd.OpenForm &quot;Formularname&quot;, OpenArgs:=&quot;Test&quot;<\/pre>\n<p>Im Ereignis <b>Beim &Ouml;ffnen <\/b>des Formulars m&ouml;chten Sie das &Ouml;ffnungsargument nun so auslesen:<\/p>\n<pre>Dim strOeffnungsargument As String\r\nstrOeffnungsargument = Me.OpenArgs<\/pre>\n<p>Es gibt jedoch die Fehlermeldung <b>Laufzeitfehler 94: Unzul&auml;ssige Verwendung von Null<\/b>, <b>OpenArgs <\/b>ist also scheinbar leer.<\/p>\n<p>Der durch das fehlende &Ouml;ffnungsargument verursachte Fehler tritt immer dann auf, wenn das Formular bereits ge&ouml;ffnet ist &#8211; egal, ob sichtbar oder unsichtbar. Wenn Ihnen dies passiert, ist das Formular also beispielsweise hinter einem anderen Formular versteckt oder Sie haben es unsichtbar geschaltet.<\/p>\n<p>Das geschieht gern, wenn Sie das Formular als modalen Dialog &ouml;ffnen, um den aufrufenden Code anzuhalten, bis das Formular den Fokus verliert, um dann Elemente des Formulars auszulesen. Sie belegen dann etwa die <b>OK<\/b>-Schaltfl&auml;che des Formulars mit folgendem Code:<\/p>\n<pre>Me.Visible = False<\/pre>\n<p>Wenn Sie dann im aufrufenden Code vergessen, das Formular mit einer Anweisung wie der folgenden endg&uuml;ltig zu schlie&szlig;en, bleibt es im unsichtbaren Zustand ge&ouml;ffnet:<\/p>\n<pre>DoCmd.Close acForm, &quot;frmTest&quot;<\/pre>\n<p>Das &Ouml;ffnungsargument ist allerdings nicht der einzige Parameter, der an bereits ge&ouml;ffnete Formulare nicht &uuml;bergeben wird &#8211; auch die anderen Parameter wie <b>WhereCondition<\/b>, <b>WindowMode<\/b>, <b>DataMode <\/b>oder <b>Filter <\/b>funktionieren nicht.<\/p>\n<p>Wenn Sie dieses Problem verhindern m&ouml;chten, schlie&szlig;en Sie einfach immer alle ge&ouml;ffneten Formulare ordnungsgem&auml;&szlig; &#8211; vor allem die unsichtbar geschalteten. Das Wichtigste ist jedoch, dass Sie das hier beschriebene Verhalten richtig einsch&auml;tzen, was sp&auml;testens nach der Lekt&uuml;re dieses Tipps kein Problem mehr sein sollte.<\/p>\n<p><b>Kompletten Datensatz im Datenblatt markieren<\/b><\/p>\n<p>Manchmal m&ouml;chte man ein Datenblatt nicht zur Dateneingabe, sondern einfach nur zum Anzeigen und gegebenenfalls zum Ausw&auml;hlen von Daten verwenden. Damit der Benutzer keine Daten darin &auml;ndern kann, stellen Sie einfach die Eigenschaft <b>Recordsettyp <\/b>auf <b>Snapshot <\/b>ein &#8211; schon ist das Anf&uuml;gen, &auml;ndern und L&ouml;schen der Daten nicht mehr m&ouml;glich.<\/p>\n<p>Das ist aber auch nur die technisch notwendige Seite der Medaille. Damit der Benutzer sich nicht verschaukelt f&uuml;hlt, weil er zwar die Einf&uuml;gemarke in die Felder setzen, aber keine Inhalte &auml;ndern kann, unterbinden Sie auch das.<\/p>\n<p>Sie k&ouml;nnten dazu einfach die Eigenschaften <b>Aktiviert <\/b>und <b>Gesperrt <\/b>des Steuerelements auf <b>Nein <\/b>und <b>Ja <\/b>einstellen. Damit kann der Benutzer nicht mehr den Fokus auf die Steuerelemente setzen, aber leider kann er so auch den kompletten Datensatz nicht mehr einfach per Mausklick markieren.<\/p>\n<p><b>Aktiviert <\/b>und <b>Gesperrt <\/b>sind also die falschen Eigenschaften. Wir markieren den Datensatz einfach so, wie es auch durch einen Mausklick auf den Datensatzmarkierter am linken Rand geschehen w&uuml;rde &#8211; und dazu verwenden Sie die folgende Anweisung:<\/p>\n<pre>Application.RunCommand acCmdSelectRecord<\/pre>\n<p>Aber wann Der Datensatz soll schlie&szlig;lich bei einem Mausklick irgendwo in der Zeile markiert werden, was normalerweise das Anlegen entsprechender <b>Beim Klicken<\/b>-Ereignisprozeduren f&uuml;r alle angezeigten Steuerelemente beziehungsweise Felder erforderlich machen w&uuml;rde.<\/p>\n<p>Das macht bei Formularen mit vielen Feldern aber keinen Spa&szlig; und deshalb l&ouml;sen wir diese Anweisung einfach beim Ereignis <b>Beim Anzeigen <\/b>aus, das bei jedem Wechseln des Datensatzes angesto&szlig;en wird.<\/p>\n<p>W&auml;hlen Sie dazu im Eigenschaftsfenster das Element <b>Formular <\/b>aus, tragen Sie f&uuml;r die Eigenschaft <b>Beim Anzeigen <\/b>den Wert <b>[Ereignisprozedur] <\/b>ein und klicken Sie auf die nun erscheinende Schaltfl&auml;che neben der Eigenschaft. Die dann im VBA-Editor angelegte Routine erg&auml;nzen Sie wie folgt:<\/p>\n<pre>Private Sub Form_Current()\r\n    Application.RunCommand acCmdSelectRecord\r\n    End Sub<\/pre>\n<p>Damit markiert das Formular direkt beim Anzeigen den ersten Datensatz und erledigt dies auch beim Wechseln des Datensatzes durch einen Mausklick auf einen anderen Datensatz.<\/p>\n<p>Wenn Sie dieses Formular nun als Unterformular in einem anderen Formular einsetzen, was bei der Verwendung von Formularen in der Datenblattansicht &uuml;blich ist, wird der erste Datensatz beim &Ouml;ffnen des Formulars nicht mehr komplett markiert &#8211; dies funktioniert nur noch beim Wechseln des Datensatzes.<\/p>\n<p>Die Ereignisprozedur <b>Form_Current <\/b>des Unterformulars wird zwar beim &Ouml;ffnen ausgel&ouml;st, aber offensichtlich sorgt der zwischenzeitliche Wechsel zum Hauptformular daf&uuml;r, dass dieses den Fokus verliert und auch der erste Datensatz nicht mehr markiert ist.<\/p>\n<p>Uns ist nur eine M&ouml;glichkeit bekannt, auch beim &Ouml;ffnen des Formulars direkt den ersten Datensatz des Unterformulars komplett zu markieren &#8211; und zwar durch das Setzen des Timers des Hauptformulars auf ein kurzes Zeitintervall wie <b>1 <\/b>und Hinzuf&uuml;gen der folgenden Routine, die durch die Ereigniseigenschaft <b>Bei Zeitgeber <\/b>ausgel&ouml;st wird:<\/p>\n<pre>Private Sub Form_Timer()\r\n    Me!sfm.SetFocus\r\n    Me!sfm.Form.Vorname.SetFocus\r\n    Application.RunCommand acCmdSelectRecord\r\n    Me.TimerInterval = 0\r\n    End Sub<\/pre>\n<p><!--30percent--><\/p>\n<p>Durch das Einstellen der Eigenschaft <b>TimerInterval <\/b>auf den Wert <b>0 <\/b>sorgen Sie daf&uuml;r, dass Access die Routine nicht erneut ausl&ouml;st.<\/p>\n<p>Eine Optimierung gibt es noch. Dabei verwenden Sie statt der <b>SetFocus<\/b>&#8211; und <b>RunCommand<\/b>-Methode die folgende Variante, die den Zugriff stark vereinfacht:<\/p>\n<pre>With Me\r\n.SelTop = Me.Recordset.AbsolutePosition + 1\r\n.SelLeft = 1\r\n.SelWidth = 3\r\n.SelHeight = 1\r\nEnd With<\/pre>\n<p>Einen kleinen Haken hat diese Routine noch: Wenn das Unterformular keine Datens&auml;tze enth&auml;lt, l&ouml;st das Setzen des Fokus auf ein Feld des Datensatzes (hier Vorname) einen Fehler aus. Daher f&uuml;gen Sie noch die folgende Abfrage hinzu:<\/p>\n<pre>Private Sub Form_Timer()\r\n    Me!sfm.SetFocus\r\n    If Me!sfm.Form.Recordset.RecordCount &gt; 0 Then\r\n        Me!sfm.Form.Vorname.SetFocus\r\n        Application.RunCommand acCmdSelectRecord\r\n    End If\r\n    Me.TimerInterval = 0\r\n    End Sub<\/pre>\n<p><b>Migration nach Access 2007<\/b><\/p>\n<p>Wer professionelle Datenbanken entwickelt, verwendet auch eine oder mehrere benutzerdefinierte Men&uuml;leisten darin.<\/p>\n<p>Wenn man eine solche Datenbank nach Access 2007 migriert, zeigt Access diese Men&uuml;leiste im Ribbon in einem eigenen Tab namens <b>Add-Ins <\/b>an (siehe Bild 1).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_01\/TippsUndTricks-web-images\/pic007_opt.jpeg\" alt=\"pic007.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Men&uuml;leisten-&Uuml;berbleibsel einer MDB in Access 2007<\/span><\/b><\/p>\n<p>Sp&auml;testens wenn Sie die Elemente der Men&uuml;- und gegebenenfalls auch der Symbolleisten als Ribbon nachgebaut haben, werden Sie die Men&uuml;- und Symbolleisten aus der Datenbank werfen.<\/p>\n<p>Das geht am einfachsten, indem Sie zun&auml;chst einmal pr&uuml;fen, welches die Kandidaten f&uuml;r den Rauswurf sind, und diese mit der folgenden Routine im Direktfenster ausgeben lassen:<\/p>\n<pre>Public Sub CommandbarsLoeschen()\r\nDim cbr As CommandBar\r\nFor Each cbr In CommandBars\r\n If Not cbr.BuiltIn Then\r\n    Debug.Print cbr.Name\r\nEnd If\r\nNext cbr\r\nEnd Sub<\/pre>\n<p>Danach k&ouml;nnen Sie die nicht mehr ben&ouml;tigten Elemente mit der folgenden Anweisung l&ouml;schen:<\/p>\n<pre>CommandBars(&quot;&lt;Men&uuml;leiste&gt;&quot;).Delete<\/pre>\n<p>Warum so zimperlich und nicht alle nicht eingebauten Men&uuml;- und Symbolleisten direkt l&ouml;schen<\/p>\n<p>Nun: Es kann ja sein, dass die <b>CommandBars<\/b>-Auflistung nicht nur die Elemente der aktuellen Datenbank, sondern auch solche aus Bibliotheksdatenbanken oder aus Add-In-Datenbanken enth&auml;lt, und die w&uuml;rden Sie dann mitl&ouml;schen.<\/p>\n<p>Wenn Sie die Anwendung das n&auml;chste Mal starten, erscheint dann allerdings eine Fehlermeldung wie die aus Bild 2.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_01\/TippsUndTricks-web-images\/pic001_opt.jpeg\" alt=\"pic001.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Dieser Fehler erscheint, wenn eine noch referenzierte Symbolleiste nicht mehr vorhanden ist.<\/span><\/b><\/p>\n<p>Die Ursache ist klar: Irgendwo muss noch ein Verweis auf die Men&uuml;leiste sein &#8211; vermutlich in den Access-Optionen f&uuml;r die aktuelle Datenbank.<\/p>\n<p>Dort werden Sie allerdings eines Besseren belehrt: Von den von &auml;lteren Access-Versionen bekannten Elementen findet sich allenfalls noch die Option zum Festlegen eines Kontextmen&uuml;s, ansonsten k&ouml;nnen Sie hier nur das Ribbon festlegen, das beim Anwendungsstart erscheinen soll.<\/p>\n<p>Immerhin sind aber alle Access-Optionen per VBA erreichbar. <\/p>\n<pre>Die hier ben&ouml;tigte Option hei&szlig;t <b>StartupMenuBar <\/b>und l&auml;sst sich mit der folgenden, im Direktfenster des VBA-Editors abgesetzten Anweisung l&ouml;schen:\r\nCurrentDB.Properties.Delete &quot;StartUpMenuBar&quot;<\/pre>\n<p>Davon abgesehen m&uuml;ssen Sie nat&uuml;rlich auch noch die Eigenschaften <b>Symbolleiste <\/b>und <b>Men&uuml;leiste <\/b>von Formularen und Berichten leeren, um Fehler beim Aufrufen dieser Objekte zu verhindern.<\/p>\n<p>Und schlie&szlig;lich kann auch der VBA-Code noch auf Men&uuml;- und Symbolleisten verweisen. Hier hilft eine Suche nach Begriffen wie <b>Commandbar<\/b>, <b>MenuBar <\/b>oder <b>Toolbar <\/b>und das L&ouml;schen der relevanten Codezeilen.<\/p>\n<p><b>Probleme mit DAO unter Access 2007<\/b><\/p>\n<p>Wer seine Datenbank im Format von Access 2003 oder &auml;lter mit Access 2007 &ouml;ffnet und diese als <b>.accdb<\/b>-Datei, also im Format von Access 2007 speichert, erlebt m&ouml;glicherweise eine &Uuml;berraschung bei ihrer Anwendung. Die einfachste Variante dabei ist der Einsatz der folgenden Routine in einem beliebigen Modul:<\/p>\n<pre>Public Sub DAOBeispiel()\r\nDim db As Database\r\nDim rst As Recordset\r\nSet db = CurrentDb\r\nSet rst = db.OpenRecordset(&quot;tblKontakte&quot;, _\r\ndbOpenDynaset)\r\nDo While Not rst.EOF\r\nDebug.Print rst!Vorname, rst!Nachname\r\nrst.MoveNext\r\nLoop\r\n...\r\nEnd Sub<\/pre>\n<p>Wenn Sie unter Access 2003 eine Datenbank mit dieser Routine erstellen, l&auml;uft diese ohne Probleme. Wenn Sie die Datenbank allerdings unter Access 2007 &ouml;ffnen und &uuml;ber den Eintrag <b>Speichern|Access 2007-Datenbank <\/b>als <b>.accdb<\/b>-Datei speichern (siehe Bild 3), funktioniert die Routine nicht mehr.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_01\/TippsUndTricks-web-images\/pic003_opt.jpeg\" alt=\"pic003.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Speichern einer MDB als ACCDB<\/span><\/b><\/p>\n<p>Die folgende Zeile liefert n&auml;mlich einen Fehler 13, <b>Typen unvertr&auml;glich<\/b>:<\/p>\n<pre>Set rst = db.OpenRecordset(&quot;tblKontakte&quot;, _\r\ndbOpenDynaset)<\/pre>\n<p>Der Grund offenbart sich nach einem Blick in den Verweise-Dialog. Der sieht n&auml;mlich f&uuml;r eine frisch angelegte Access 2003-Datenbank so wie in Bild 4 aus.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_01\/TippsUndTricks-web-images\/pic004_opt.jpeg\" alt=\"pic004.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4: Der Verweise-Dialog einer .mdb-Datenbank vor &#8230;<\/span><\/b><\/p>\n<p>Konvertieren Sie die Datenbank in das Format von Access 2007, erhalten Sie das Bild aus Bild 5.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_01\/TippsUndTricks-web-images\/pic005_opt.jpeg\" alt=\"pic005.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5: &#8230; und nach der Migration in eine .accdb-Datenbank.<\/span><\/b><\/p>\n<p>Und dort finden Sie auch des R&auml;tsels L&ouml;sung: Access hat den Verweis <b>Microsoft DAO 3.6 Object Library <\/b>entfernt und daf&uuml;r den Verweis auf die neue Bibliothek <b>Microsoft Office 12.0 Access Database Engine Object <\/b>gesetzt.<\/p>\n<p>Das ist aber nicht der Grund f&uuml;r den Fehler, sondern die Reihenfolge der Verweise: Der unter Access 2003 hinter dem DAO-Verweis liegende Verweis <b>Microsoft ActiveX Data Objects 2.1 Library <\/b>liegt nun vor dem Verweis auf die neue DAO-Bibliothek.<\/p>\n<p>Was spielt das nun f&uuml;r eine Rolle Nun: Sowohl die DAO- als auch die ADO-Objektbibliothek besitzt ein Recordset-Objekt, das allerdings grunds&auml;tzliche Unterschiede aufweist.<\/p>\n<p>So besitzt beispielsweise das DAO-Recordset eine Methode namens <b>FindFirst<\/b>, unter ADO hingegen verwendet man <b>Find <\/b>zum Suchen.<\/p>\n<p>W&auml;hrend dies immerhin einen Fehler beim Kompilieren der Anwendung ausl&ouml;sen w&uuml;rde, tut der vorliegende Fehler dies nicht: Dort passt schlicht und einfach der Typ nicht, denn <b>db.OpenRecordset <\/b>ist definitiv eine DAO-Methode und liefert ein DAO-Recordset, das Sie aber keiner ADO-Recordset-Variablen zuweisen k&ouml;nnen.<\/p>\n<p>Es gibt zwei m&ouml;gliche L&ouml;sungen:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Die erste besteht darin, einfach die Reihenfolge der Verweise zu &auml;ndern und den Verweis auf die Bibliothek Microsoft Office 12.0 Access Database Engine Object vor den ADO-Verweis zu verschieben. Wenn Sie die ADO-Bibliothek nicht brauchen, k&ouml;nnen Sie diese nat&uuml;rlich auch komplett entfernen.<\/li>\n<li class=\"aufz-hlung\">Die wesentlich zuverl&auml;ssigere L&ouml;sung ist die, jedem DAO-Objekt bei der Deklaration den Namen der Bibliothek voranzustellen. Dies ist &uuml;brigens in jedem Fall anzuraten, da somit keine Probleme mehr wegen einer falschen Bibliothek mehr auftreten k&ouml;nnen.<\/li>\n<\/ul>\n<p>Die Deklaration sieht beim Einsatz der zweiten L&ouml;sung so aus:<\/p>\n<pre>Dim db As DAO.Database\r\nDim rst As DAO.Recordset<\/pre>\n<p><b>Zuletzt eingef&uuml;gte Datensatz-ID erhalten<\/b><\/p>\n<p>Wenn man einen Datensatz per Code einf&uuml;gt, m&ouml;chte man diesen m&ouml;glicherweise gleich weiterverwenden &#8211; zum Beispiel, um einem frisch angelegten Rechnungsdatensatz ein paar Positionen hinzuzuf&uuml;gen.<\/p>\n<p>Die Positionen brauchen daf&uuml;r den Prim&auml;rschl&uuml;sselwert der Rechnung, um ein entsprechendes Fremdschl&uuml;sselfeld zu f&uuml;llen und die Position somit der Rechnung zuzuordnen.<\/p>\n<p>Es gibt zwei todsichere Methoden:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Sie legen den Rechnungsdatensatz per DAO an und speichern die ID in einer Variablen zwischen, bevor Sie den Datensatz speichern.<\/li>\n<li class=\"aufz-hlung\">Sie legen den Rechnungsdatensatz per <b>INSERT INTO<\/b>-Statement an und ermitteln die zuletzt hinzugef&uuml;gte ID mit einer speziellen Abfrage.<\/li>\n<\/ul>\n<p>Unter DAO sieht das Prozedere etwa so wie in Listing 1 aus.<\/p>\n<p class=\"kastentabelleheader\">Listing 1: Anlegen eines neuen Datensatzes mit verkn&uuml;pftem Feld mit DAO &#8230;<\/p>\n<pre>Public Sub NeueRechnungDAO()\r\n \r\nDim db As DAO.Database\r\nDim rst As DAO.Recordset\r\nDim lngRechnungID As Long\r\n \r\nSet db = CurrentDb\r\nSet rst = db.OpenRecordset(&quot;tblRechnungen&quot;, dbOpenDynaset)\r\n \r\nrst.AddNew\r\nrst!Kunde = &quot;Beispielkunde&quot;\r\nrst!Rechnungsdatum = Now\r\nlngRechnungID = rst!ID\r\nrst.Update\r\n \r\nDebug.Print lngRechnungID\r\n \r\nEnd Sub<\/pre>\n<p>Dabei ist es wirklich wichtig, dass die Zuweisung des beim Anlegen des Datensatzes automatisch erzeugten Werts f&uuml;r <b>ID <\/b>vor dem <b>Update<\/b>-Befehl geschieht.<\/p>\n<p>Bei Verwendung einer <b>INSERT INTO<\/b>-Abfrage wie die in Listing 2 pr&uuml;ft die Routine &uuml;ber die Eigenschaft <b>RecordsAffected <\/b>des <b>Database<\/b>-Objekts zun&auml;chst, ob &uuml;berhaupt ein Datensatz angelegt wurde, und liest dann &uuml;ber die Abfrage <b>SELECT @@IDENTITY <\/b>den zuletzt hinzugef&uuml;gten Prim&auml;rschl&uuml;ssel ein.<\/p>\n<p class=\"kastentabelleheader\">Listing 2: &#8230; und unter Verwendung von Aktionsabfragen.<\/p>\n<pre>Public Sub NeueRechnungSQL()\r\n \r\nDim db As DAO.Database\r\nDim lngRechnungID As Long\r\n \r\nSet db = CurrentDb\r\n \r\ndb.Execute &quot;INSERT INTO tblRechnungen(Kunde, Rechnuns&micro;\r\ndatum) VALUES(&apos;Beispielkunde&apos;,#2008\/01\/01#)&quot;, _\r\ndbFailOnError\r\n \r\nIf db.RecordsAffected = 1 Then\r\nlngRechnungID = db.OpenRecordset( _\r\n&quot;SELECT @@IDENTITY&quot;).Fields(0)\r\nEnd If\r\n \r\nDebug.Print lngRechnungID\r\n \r\nEnd Sub<\/pre>\n<\/p>\n<p class=\"kastentabelleheader\">Listing 3: Markierte Eintr&auml;ge eines Listenfelds ausgeben<\/p>\n<pre>Private Sub cmdAusgeben_Click()\r\n \r\n    Dim var As Variant\r\n    Dim strVorname As String\r\n    Dim strNachname As String\r\n \r\n    For Each var In Me.lstPersonen.ItemsSelected\r\n        strVorname = Me.lstPersonen.Column(1, _\r\n        var)\r\n        strNachname = Me.lstPersonen.Column(2, var)\r\n        Debug.Print var, strVorname, strNachname\r\n    Next var\r\n \r\n    End Sub<\/pre>\n<p><b>Alle Spalten der Mehrfachauswahl in Listenfeldern auslesen<\/b><\/p>\n<p>Die Mehrfachauswahl in Listenfeldern gibt immer wieder R&auml;tsel auf. Viele wissen beispielsweise nicht, wie man bei der erweiterten Mehrfachauswahl alle Informationen der markierten Eintr&auml;ge ausliest &#8211; dabei ist das ganz leicht.<\/p>\n<p>Der wichtigste Helfer ist dabei die <b>Column<\/b>-Eigenschaft, mit der Sie auf beliebige Elemente des Listenfelds zugreifen k&ouml;nnen, wenn Sie nur den Index der Spalte und der Zeile kennen.<\/p>\n<p>Angenommen, Sie haben eine Tabelle mit den Feldern <b>ID<\/b>, <b>Vorname <\/b>und <b>Nachname <\/b>und der Bezeichnung <b>tblPersonen<\/b>.<\/p>\n<p>Ein Listenfeld verwendet diese Tabelle als Datensatzherkunft und seine Eigenschaften <b>Spaltenanzahl <\/b>und <b>Spaltenbreite <\/b>sind auf <b>3 <\/b>und <b>0cm;3cm;3cm <\/b>eingestellt, damit es die ID ausblendet und nur den Vor- und den Nachnamen anzeigt.<\/p>\n<p>Die Eigenschaft <b>Mehrfachauswahl <\/b>ist auf <b>Erweitert <\/b>eingestellt, was bedeutet, dass der Benutzer die Eintr&auml;ge wie im Windows Explorer ausw&auml;hlen kann: Bei gedr&uuml;ckter Umschalt-Taste markiert das Listenfeld alle zwischen den zuletzt angeklickten Zeilen befindlichen Eintr&auml;ge, und bei gedr&uuml;ckter <b>Strg<\/b>-Taste kann man einzelne Eintr&auml;ge aus- und abw&auml;hlen.<\/p>\n<p>Wenn Sie nun die markierten Vor- und Nachnamen ben&ouml;tigten, verwenden Sie den folgenden Codeschnipsel, der diese Informationen einfach im Direktfenster ausgibt (s. Abb. 6, nat&uuml;rlich k&ouml;nnen Sie dies durch die gew&uuml;nschten Aktionen ersetzen):<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_01\/TippsUndTricks-web-images\/pic006_opt.jpeg\" alt=\"pic006.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6: Ausgabe der markierten Eintr&auml;ge eines Listenfelds<\/span><\/b><\/p>\n<p>Die <b>Column<\/b>-Eigenschaft erwartet als ersten Wert die Spalte und als zweiten Wert die Zeile der auszugebenden Information.<\/p>\n<p>Als Spalten dienen hier 1 und 2 (die nullte Spalte enth&auml;lt die ID), als Zeile der Wert <b>var<\/b>, den die <b>ItemsSelected<\/b>-Eigenschaft in einer <b>For Each<\/b>-Schleife f&uuml;r alle markierten Eintr&auml;ge zur&uuml;ckliefert.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>TippsUndTricks200901.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{FDA14305-BE71-4F9D-99D5-53FC5BCBAD88}\/aiu_652.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es sind die kleinen Kniffe, die einem den Alltag beim Programmieren von Access-Anwendungen erleichtern. In dieser Ausgabe von Access im Unternehmen zeigen wir Ihnen zum Beispiel, wie Sie den Datensatzwechsel in Formularen steuern, bei Problemen mit DoCmd.OpenForms reagieren oder einen kompletten Datensatz im Endlosformular markieren.<\/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":[66012009,662009,44000004],"tags":[],"class_list":["post-55000652","post","type-post","status-publish","format-standard","hentry","category-66012009","category-662009","category-Tipps_und_Tricks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Tipps und Tricks 1\/2009 - 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\/Tipps_und_Tricks_12009\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tipps und Tricks 1\/2009\" \/>\n<meta property=\"og:description\" content=\"Es sind die kleinen Kniffe, die einem den Alltag beim Programmieren von Access-Anwendungen erleichtern. In dieser Ausgabe von Access im Unternehmen zeigen wir Ihnen zum Beispiel, wie Sie den Datensatzwechsel in Formularen steuern, bei Problemen mit DoCmd.OpenForms reagieren oder einen kompletten Datensatz im Endlosformular markieren.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T22:33:07+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg02.met.vgwort.de\/na\/77d7bff25b73416cb2e121372d720c66\" \/>\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=\"14\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Tipps und Tricks 1\\\/2009\",\"datePublished\":\"2020-05-22T22:33:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/\"},\"wordCount\":2425,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/77d7bff25b73416cb2e121372d720c66\",\"articleSection\":[\"1\\\/2009\",\"2009\",\"Tipps und Tricks\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/\",\"name\":\"Tipps und Tricks 1\\\/2009 - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/77d7bff25b73416cb2e121372d720c66\",\"datePublished\":\"2020-05-22T22:33:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/77d7bff25b73416cb2e121372d720c66\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/77d7bff25b73416cb2e121372d720c66\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_12009\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tipps und Tricks 1\\\/2009\"}]},{\"@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":"Tipps und Tricks 1\/2009 - 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\/Tipps_und_Tricks_12009\/","og_locale":"de_DE","og_type":"article","og_title":"Tipps und Tricks 1\/2009","og_description":"Es sind die kleinen Kniffe, die einem den Alltag beim Programmieren von Access-Anwendungen erleichtern. In dieser Ausgabe von Access im Unternehmen zeigen wir Ihnen zum Beispiel, wie Sie den Datensatzwechsel in Formularen steuern, bei Problemen mit DoCmd.OpenForms reagieren oder einen kompletten Datensatz im Endlosformular markieren.","og_url":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T22:33:07+00:00","og_image":[{"url":"http:\/\/vg02.met.vgwort.de\/na\/77d7bff25b73416cb2e121372d720c66","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"14\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Tipps und Tricks 1\/2009","datePublished":"2020-05-22T22:33:07+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/"},"wordCount":2425,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/77d7bff25b73416cb2e121372d720c66","articleSection":["1\/2009","2009","Tipps und Tricks"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/","url":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/","name":"Tipps und Tricks 1\/2009 - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/77d7bff25b73416cb2e121372d720c66","datePublished":"2020-05-22T22:33:07+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/77d7bff25b73416cb2e121372d720c66","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/77d7bff25b73416cb2e121372d720c66"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_12009\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Tipps und Tricks 1\/2009"}]},{"@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\/55000652","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=55000652"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000652\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000652"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}