{"id":55000663,"date":"2009-04-01T00:00:00","date_gmt":"2020-05-22T22:32:44","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=663"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Tipps_und_Tricks_22009","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/","title":{"rendered":"Tipps und Tricks 2\/2009"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/e2197ee0b52c44a88e4562b32b40cd2f\" 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><b>DoCmd.Close und seine T&uuml;cken<\/b><\/p>\n<p>Die Anweisung <b>DoCmd.Close <\/b>schlie&szlig;t ohne Parameter das aktuelle Objekt, und mit den beiden Parametern <b>ObjectType <\/b>und <b>ObjectName<\/b>, f&uuml;r die man den Objekttyp (meist <b>acForm <\/b>oder <b>acReport<\/b>) und den Objektnamen (etwa <b>frmBeispiel <\/b>oder <b>rptBeispiel<\/b>) eingibt, beendet es die Anzeige des angegebenen Objekts.<\/p>\n<p>Die in der &Uuml;berschrift erw&auml;hnte T&uuml;cke bezieht sich ausschlie&szlig;lich auf Formulare, die an eine Datenherkunft, wie eine Tabelle oder eine Abfrage, gebunden sind. Dort sorgt das Schlie&szlig;en eines Formulars per <b>DoCmd.Close <\/b>f&uuml;r das Speichern des aktuellen Datensatzes.<\/p>\n<p>Aber leider nicht immer, so zum Beispiel bei Datens&auml;tzen, denen Sie einen bereits vorhandenen Wert f&uuml;r ein Feld mit eindeutigem Index hinzugef&uuml;gt haben. Die passende Tabelle sieht im Entwurf samt Indizes wie in Bild 1 aus. Die Fehlermeldung, die beim zweimaligen Wert des gleichen Datensatzes im eindeutigen Feld <b>Beispielfeld <\/b>auftaucht, hat die Fehlernummer 3022 und besagt, dass man versucht, einen Wert hinzuzuf&uuml;gen, nachdem ein Index, ein Prim&auml;rschl&uuml;ssel oder eine Beziehung doppelte Werte enthalten w&uuml;rde.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/TippsUndTricks-web-images\/pic001_opt.jpeg\" alt=\"pic001.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Eindeutiger Index eines Tabellenfelds<\/span><\/b><\/p>\n<p>Erstellen Sie nun ein Formular, das die beiden Felder der Beispieltabelle und eine Schaltfl&auml;che mit dem Namen <b>cmdOK <\/b>enth&auml;lt (siehe Bild 2), und legen Sie die folgende Ereignisprozedur f&uuml;r diese Schaltfl&auml;che an:<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/TippsUndTricks-web-images\/pic002_opt.jpeg\" alt=\"pic002.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Formular zum Testen des Verhaltens von DoCmd.Close<\/span><\/b><\/p>\n<pre>Private Sub cmdOK_Click()\r\n    DoCmd.Close acForm, Me.Name\r\n    End Sub<\/pre>\n<p>Geben Sie in den ersten Datensatz einen Wert f&uuml;r das Feld <b>Beispielfeld <\/b>ein und klicken Sie auf <b>OK<\/b>. Wenn Sie in der Tabelle <b>tblBeispiel <\/b>nachsehen, finden Sie den neu angelegten Datensatz dort vor. &Ouml;ffnen Sie das Formular erneut, wechseln Sie zum zweiten Datensatz und geben Sie den gleichen Wert wie zuvor in das Feld <b>Beispielfeld <\/b>ein.<\/p>\n<p>Klicken Sie auf <b>OK<\/b>, ohne vorher den Datensatz per Klick auf den Datensatzmarkierer oder durch Wechseln zu einem anderen Datensatz zu speichern. Die erste &Uuml;berraschung: Es erscheint keine Fehlermeldung. Die zweite &Uuml;berraschung: Ein Blick in die Tabelle <b>tblBeispiel <\/b>zeigt, dass der Datensatz kommentarlos &uuml;berhaupt nicht angelegt wurde.<\/p>\n<p>Ein Blick in die Online-Hilfe der <b>Close<\/b>-Methode zeigt, dass dieses Verhalten zumindest nicht dokumentiert ist: Dort ist lediglich die Rede davon, dass Felder, f&uuml;r die Sie die <b>Required<\/b>-Eigenschaft auf <b>True <\/b>eingestellt haben, f&uuml;r einen kommentarlosen Abbruch des Speichervorgangs sorgen k&ouml;nnen, wenn diese keinen Wert enthalten.<\/p>\n<p>Probleme k&ouml;nnen hier beispielsweise entstehen, wenn ein Unternehmen seine Mitarbeiter mit Access verwaltet.<\/p>\n<p>Tr&auml;gt man einen neuen Mitarbeiter, dessen Name bereits vorhanden ist, mit einem Formular wie oben beschrieben in die Mitarbeitertabelle ein, bricht Access den Speichervorgang bei alleiniger Anwendung von <b>DoCmd.Close <\/b>kommentarlos ab.<\/p>\n<p>Wenn man dann nach dem frisch eingegebenen Mitarbeiter sucht, st&ouml;&szlig;t man vermutlich auf den bereits vorhandenen Mitarbeiter und reibt sich die Augen, da sein Datensatz ganz andere Detailinformationen aufweisen d&uuml;rfte als der des soeben eingegebenen Mitarbeiters.<\/p>\n<p>Das gr&ouml;&szlig;te Problem ist, dieses Fehlverhalten zu erkennen. Seine Behebung ist einfach: Sie brauchen den Datensatz einfach nur vor dem Schlie&szlig;en des Formulars zu speichern, und zwar mit der folgenden Anweisung:<\/p>\n<pre>Me.Dirty = False<\/pre>\n<p><!--30percent--><\/p>\n<p>Wenn der neue Datensatz wegen bestehender eindeutiger Indizes nicht angelegt werden kann, meldet Access Fehler 3022, den Sie etwa wie folgt abfangen k&ouml;nnen:<\/p>\n<pre>Private Sub cmdOK_Click()\r\n    On Error Resume Next\r\n    Me.Dirty = False\r\n    If Err.Number = 3022 Then\r\n        MsgBox Err.Number &amp; &quot; &quot; &amp; Err.Description\r\n        Exit Sub\r\n    End If\r\n    On Error GoTo 0\r\n    DoCmd.Close acForm, Me.Name\r\n    End Sub<\/pre>\n<p><b>Dateien schreiben ohne Hindernisse<\/b><\/p>\n<p>Hier und da schreiben Access-Anwendungen mal Daten oder sonstige Informationen in Textdateien. Ein ganz einfaches Beispiel sieht so aus:<\/p>\n<pre>Open &quot;c:\\test.txt&quot; For Output As #1\r\nPrint #1, &quot;Beispielzeile&quot;\r\nPrint #1, &quot;Noch eine Beispielzeile&quot;\r\nClose #1<\/pre>\n<p>Der Ausdruck <b>#1 <\/b>dient dabei als Dateinummer, wobei Sie auch jede andere Zahl zwischen 1 und 255 w&auml;hlen k&ouml;nnen.<\/p>\n<p>Wenn Sie mehrere Dateien gleichzeitig beschreiben oder auch auf unterschiedliche Art auf verschiedene Dateien zugreifen m&ouml;chten, verwenden Sie einfach mehrere Dateinummern wie in folgendem Beispiel:<\/p>\n<pre>Open &quot;c:\\test1.txt&quot; For Output As #1\r\nOpen &quot;c:\\test2.txt&quot; For Output As #2\r\nPrint #1, &quot;Beispielzeile in Datei 1&quot;\r\nPrint #2, &quot;Beispielzeile in Datei 2&quot;\r\nClose #1\r\nClose #2<\/pre>\n<p>Warum wir Ihnen das zeigen Nun: Wenn Sie mal nicht nur eine Datei mit <b>Open<\/b> &ouml;ffnen, sollten Sie die Dateinummern im Blick behalten. Es k&ouml;nnte sonst zum Beispiel sein, dass Sie nach dem &Ouml;ffnen einer Datei mit der Nummer <b>#1 <\/b>eine Routine aufrufen, deren genauen Ablauf Sie gar nicht mehr so genau im Kopf haben, die aber ebenfalls auf eine Datei mit dieser Nummer zugreift. Dies l&ouml;st dann den Laufzeitfehler 55, <b>Datei bereits ge&ouml;ffnet <\/b>aus.<\/p>\n<p>Vielleicht vergessen Sie auch einfach, die <b>Close<\/b>-Methode f&uuml;r eine soeben ge&ouml;ffnete Datei aufzurufen, oder diese wird wegen eines vorher auftretenden Abbruchs nicht mehr erreicht: Beim n&auml;chsten Zugriff mit der gleichen Dateinummer tritt trotzdem ein Fehler auf.<\/p>\n<p>In diesem Fall w&uuml;rde die Holzhammermethode helfen, bei der man vor dem &Ouml;ffnen einfach eine eventuell unter dieser Dateinummer ge&ouml;ffnete Datei schlie&szlig;t.<\/p>\n<p>Wenn jedoch tats&auml;chlich zwischendurch eine andere Datei ge&ouml;ffnet wurde, w&uuml;rde man diese damit schlie&szlig;en und gegebenenfalls unerkl&auml;rliche Verhaltensweisen hervorrufen, weil Daten in die falschen Dateien geschrieben werden.<\/p>\n<p>Abhilfe schafft die <b>FreeFile<\/b>-Methode von VBA: Sie ermittelt die n&auml;chste nicht benutzte Dateinummer, die Sie ganz einfach einer Variablen zuweisen. Diese verwenden Sie dann im folgenden Verlauf statt eines Ausdrucks wie <b>#1<\/b>, wobei die Variable in der <b>Print<\/b>-, <b>Input<\/b>&#8211; und <b>Get<\/b>-Anweisung gegen&uuml;ber dem <b>Open<\/b>&#8211; und <b>Close<\/b>-Befehl jeweils um eine f&uuml;hrende <b># <\/b>erg&auml;nzt werden muss:<\/p>\n<pre>Dim intFile As Integer\r\nintFile = FreeFile\r\nOpen &quot;c:\\test.txt&quot; For Output As intFile\r\nPrint #intFile, &quot;Test&quot;<\/pre>\n<p>Bei 255 Dateien ist &uuml;brigens noch nicht Schluss: Wenn Sie der <b>FreeFile<\/b>-Methode den Wert <b>1 <\/b>als Parameter &uuml;bergeben, liefert diese die n&auml;chste freie Dateinummer ab der Zahl <b>256<\/b>.<\/p>\n<p><b>Welches Kontextmen&uuml; h&auml;tten&apos;s denn gern<\/b><\/p>\n<p>Wenn Sie schon mal ein eingebautes Kontextmen&uuml; um einen Befehl erweitern wollten, haben Sie vermutlich erstmal eine Menge Zeit damit verbracht, den Namen des gew&uuml;nschten Kontextmen&uuml;s herauszufinden.<\/p>\n<p>Namen werden n&auml;mlich beim Anzeigen des Kontextmen&uuml;s nicht angezeigt und die Bezeichnungen lassen sich unter VBA auch nur auf Englisch ausgeben.<\/p>\n<p>Es gibt jedoch eine ganz einfache M&ouml;glichkeit, bei der Sie lediglich jedem einzelnen Kontextmen&uuml; ein neues, tempor&auml;res Steuerelement hinzuf&uuml;gen m&uuml;ssen, das f&uuml;r die Eigenschaft <b>Caption <\/b>die englische Bezeichnung der Kontextmen&uuml;leiste erh&auml;lt.<\/p>\n<p>Die folgende Routine erledigt diese Aufgabe, indem sie alle <b>CommandBar<\/b>-Elemente von Access durchl&auml;uft und f&uuml;r alle eingebauten Kontextmen&uuml;s ein <b>CommandBarControl <\/b>mit der entsprechenden Beschriftung hinzuf&uuml;gt.<\/p>\n<pre>Public Sub TestCommandbars()\r\nDim cbr As CommandBar\r\nDim cbc As CommandBarControl\r\nOn Error Resume Next\r\nFor Each cbr In CommandBars\r\n If cbr.BuiltIn = True And _\r\n    cbr.Type = msoBarTypePopup Then\r\n    Set cbc = _\r\n    cbr.Controls.Add(1, , , , True)\r\n    With cbc\r\n    .Caption = cbr.name\r\n    End With\r\nEnd If\r\nNext cbr\r\nEnd Sub<\/pre>\n<p>Der schwierigste Teil der Arbeit ist bereits erledigt. Sie brauchen nur noch das Kontextmen&uuml; aufzurufen, dessen englische Bezeichnung Sie ermitteln wollen. Diese wird einfach am Ende des Kontextmen&uuml;s angezeigt, wie Bild 3 zeigt.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/TippsUndTricks-web-images\/pic003_opt.jpeg\" alt=\"pic003.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Ermitteln des Kontextmen&uuml;namens mit einem kleinen Trick<\/span><\/b><\/p>\n<p><b>Hochkommata verdoppeln und Fehler verhindern<\/b><\/p>\n<p>Wer gelegentlich Daten per SQL-Aktionsabfrage zu einer Tabelle hinzuf&uuml;gt oder bestehende Daten &auml;ndert, ist vielleicht schon auf folgenden Fehler gesto&szlig;en.<\/p>\n<p>Sie m&ouml;chten einem Textfeld einen Wert hinzuf&uuml;gen, der irgendwo her kommt &#8211; beispielsweise aus einer Excel- oder XML-Datei, vielleicht aber auch aus einer Benutzereingabe -, und verwenden dazu Anweisungen wie die folgende.<\/p>\n<p>Grundlage daf&uuml;r ist eine Tabelle namens <b>tblTest <\/b>mit den zwei Feldern <b>ID <\/b>(Autowert und Prim&auml;rschl&uuml;ssel) und <b>Teststring <\/b>(Text), und der einzuf&uuml;gende Wert stammt hier einfach aus einer Variablen:<\/p>\n<pre>Dim strTest As String\r\nDim db As DAO.Database\r\nSet db = CurrentDb\r\nstrTest = &quot;lala&apos;lala&quot;\r\ndb.Execute &quot;INSERT INTO tblTest(Teststring) &micro;\r\nVALUES(&apos;&quot; &amp; strTest &amp; &quot;&apos;)&quot;, dbFailOnError<\/pre>\n<p>Dies l&ouml;st den Fehler mit der Nummer <b>3075 <\/b>und der Fehlermeldung <b>Syntaxfehler (fehlender Operator) in Abfrageausdruck &apos;&apos;lala&apos;lala&apos;)&apos;. <\/b>aus.<\/p>\n<p>Worin genau liegt hier der Fehler Nun: Der hier dynamisch zusammengesetzte Abfrageausdruck lautet wie folgt:<\/p>\n<pre>INSERT INTO tblTest(Teststring) VALUES(&apos;lala&apos;lala&apos;)<\/pre>\n<p>Beim Auswerten dieses Ausdrucks denkt Access, dass der einzuf&uuml;gende Wert nach dem zweiten Hochkomma abgeschlossen ist, und kann das unmittelbar folgende <b>lala&apos; <\/b>nicht interpretieren, weil es hier normalerweise direkt die schlie&szlig;ende Klammer erwartet.<\/p>\n<p>Damit dieser Fehler nicht auftritt, m&uuml;ssen Sie einfach nur die innerhalb einzuf&uuml;gender Werte auftretenden Hochkommata verdoppeln, das hei&szlig;t, dass Sie jedes Hochkomma durch zwei aufeinanderfolgende Hochkommata ersetzen. Das erledigt die <b>Replace<\/b>-Anweisung wie in der folgenden neuen Version der obigen fehlerhaften Zeile:<\/p>\n<pre>db.Execute &quot;INSERT INTO tblTest(Teststring) &micro;\r\nVALUES(&apos;&quot; &amp; Replace(strTest, &quot;&apos;&quot;, &quot;&apos;&apos;&quot;) &micro;\r\n&amp; &quot;&apos;)&quot;, dbFailOnError<\/pre>\n<p>Der besseren &Uuml;bersicht halber k&ouml;nnen Sie das Ersetzen eventuell vorkommender Hochkommata auch vorab erledigen:<\/p>\n<pre>strTest = Replace(strTest, &quot;&apos;&quot;, &quot;&apos;&apos;&quot;)\r\ndb.Execute &quot;INSERT INTO tblTest(Teststring) &micro;\r\nVALUES(&apos;&quot; &amp; strTest &amp; &quot;&apos;)&quot;, dbFailOnError<\/pre>\n<p>Diese Ma&szlig;nahme sollten Sie &uuml;brigens &uuml;berall ergreifen, wo Hochkommata in einzuf&uuml;genden oder zu aktualisierenden Daten auftauchen k&ouml;nnten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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.<\/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":[66022009,662009,44000004],"tags":[],"class_list":["post-55000663","post","type-post","status-publish","format-standard","hentry","category-66022009","category-662009","category-Tipps_und_Tricks"],"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>Tipps und Tricks 2\/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_22009\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tipps und Tricks 2\/2009\" \/>\n<meta property=\"og:description\" content=\"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.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T22:32:44+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/e2197ee0b52c44a88e4562b32b40cd2f\" \/>\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=\"8\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_22009\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Tipps und Tricks 2\\\/2009\",\"datePublished\":\"2020-05-22T22:32:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/\"},\"wordCount\":1408,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/e2197ee0b52c44a88e4562b32b40cd2f\",\"articleSection\":[\"2\\\/2009\",\"2009\",\"Tipps und Tricks\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/\",\"name\":\"Tipps und Tricks 2\\\/2009 - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/e2197ee0b52c44a88e4562b32b40cd2f\",\"datePublished\":\"2020-05-22T22:32:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/e2197ee0b52c44a88e4562b32b40cd2f\",\"contentUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/e2197ee0b52c44a88e4562b32b40cd2f\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_22009\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tipps und Tricks 2\\\/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 2\/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_22009\/","og_locale":"de_DE","og_type":"article","og_title":"Tipps und Tricks 2\/2009","og_description":"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.","og_url":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T22:32:44+00:00","og_image":[{"url":"http:\/\/vg07.met.vgwort.de\/na\/e2197ee0b52c44a88e4562b32b40cd2f","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Tipps und Tricks 2\/2009","datePublished":"2020-05-22T22:32:44+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/"},"wordCount":1408,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/e2197ee0b52c44a88e4562b32b40cd2f","articleSection":["2\/2009","2009","Tipps und Tricks"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/","url":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/","name":"Tipps und Tricks 2\/2009 - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/e2197ee0b52c44a88e4562b32b40cd2f","datePublished":"2020-05-22T22:32:44+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/#primaryimage","url":"http:\/\/vg07.met.vgwort.de\/na\/e2197ee0b52c44a88e4562b32b40cd2f","contentUrl":"http:\/\/vg07.met.vgwort.de\/na\/e2197ee0b52c44a88e4562b32b40cd2f"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_22009\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Tipps und Tricks 2\/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\/55000663","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=55000663"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000663\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}