{"id":55000664,"date":"2009-06-01T00:00:00","date_gmt":"2020-05-22T22:23:08","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=664"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Das_AppendOnlyMemofeld","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/","title":{"rendered":"Das Append-Only-Memofeld"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg01.met.vgwort.de\/na\/ac1c2c7d477f41b98a81d1adcbfba018\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Mit Access 2007 hat Microsoft neben vielen anderen Neuerungen auch das Memofeld angepackt. So speichert dieses nun formatierte Texte und kann au&szlig;erdem nach Wunsch alle &auml;nderungen an den enthaltenen Texten protokollieren. Dieser Beitrag zeigt, wie Sie ein Append-Only-Memofeld einrichten, wie es funktioniert und wie Sie die gespeicherten &auml;nderungen lesen k&ouml;nnen.<\/b><\/p>\n<p><b>Protokollierung aktivieren<\/b><\/p>\n<p>Um die Protokollierung der &auml;nderungen am Text eines Memofelds einzurichten, setzen Sie dessen Eigenschaft <b>Nur Anf&uuml;gen <\/b>auf den Wert <b>Ja<\/b>. Diese Eigenschaft steht Ihnen jedoch nur zur Verf&uuml;gung, wenn die Datenbank im 2007er-Dateiformat (<b>.accdb<\/b>) vorliegt. <\/p>\n<p>Der Name dieser Eigenschaft ist irref&uuml;hrend. Besser w&auml;re es gewesen, wenn die Eigenschaft den Namen &#8222;Protokollierung aktivieren&#8220; erhalten h&auml;tte. Bei der Namensfindung haben sich die Entwickler von Access 2007 an SharePoint orientiert [1]. Dort gibt es die gleiche Funktion.<\/p>\n<p>Um die Wirkung der Eigenschaft <b>Nur Anf&uuml;gen<\/b> zu testen, legen Sie eine neue Tabelle in einer <b>.accdb<\/b>-Datei an, f&uuml;gen zumindest ein Memofeld ein und &auml;ndern die Eigenschaft <b>Nur anf&uuml;gen <\/b>auf <b>Ja<\/b>. Lassen Sie sich dabei nicht von Access ins Bockshorn jagen. Die genannte Eigenschaft finden Sie ganz am Ende der Liste der Eigenschaften. Access offenbart Ihnen diese Eigenschaft erst dann, wenn Sie die Bildlaufleiste der Eigenschaften nach unten verschieben (siehe Bild 1). &Ouml;ffnen Sie jetzt die Tabelle in der Datenblattansicht und tragen Sie beliebigen Text in das Memofeld ein. Nachdem Sie den Datensatz gespeichert haben, &auml;ndern Sie den Wert des Memofeldes. Das Memofeld verh&auml;lt sich wie ein normales Textfeld. Wenn Sie Daten &auml;ndern, werden diese gespeichert. Doch wo verbergen sich die gespeicherten &auml;nderungen Und wie kann man die &auml;nderungen wieder sichtbar machen<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_03\/Memofelder-web-images\/Abb1_opt.jpeg\" alt=\"Abb1.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Um die Eigenschaft Nur Anf&uuml;gen sichtbar zu machen, m&uuml;ssen Sie an das Ende der Liste der Eigenschaften scrollen.<\/span><\/b><\/p>\n<p><b>Historie sichtbar machen<\/b><\/p>\n<p>Jedes Mal, wenn Sie den Inhalt eines Append-Only-Memofeldes &auml;ndern, speichert Access neben dem neuen Inhalt auch einen Zeitstempel. Diese Daten werden jeweils an den Inhalt des Memofeldes angeh&auml;ngt. Access zeigt aber immer nur den zuletzt gespeicherten Inhalt an.<\/p>\n<p>Die gespeicherten &auml;nderungen machen Sie auf einfache Art sichtbar. Dazu setzen Sie die Einf&uuml;gemarke in das Memofeld und w&auml;hlen aus dem Kontextmen&uuml; den Eintrag <b>Spaltenverlauf anzeigen &#8230; <\/b>aus. Access &ouml;ffnet daraufhin ein Fenster mit der Historie der &auml;nderungen f&uuml;r dieses Feld (siehe Bild 2). Das Kontextmen&uuml; steht nicht nur in Tabellen, sondern auch in Formularen zur Verf&uuml;gung.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_03\/Memofelder-web-images\/Abb2_opt.jpeg\" alt=\"Abb2.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Sie k&ouml;nnen sich alle gespeicherten &auml;nderungen f&uuml;r ein Memofeld anzeigen lassen.<\/span><\/b><\/p>\n<p><b>Mit VBA auf die &auml;nderungen zugreifen<\/b><\/p>\n<p>Die gespeicherten &auml;nderungen in einem Append-Only-Memofeld k&ouml;nnen Sie auch mit VBA auslesen, und zwar mit der neuen Methode <b>ColumnHistory <\/b>des <b>Application<\/b>-Objekts. Diese erwartet die folgenden Parameter und liefert einen String mit allen gespeicherten &auml;nderungen:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Feldname<\/li>\n<li class=\"aufz-hlung\">Tabellenname<\/li>\n<li class=\"aufz-hlung\">Bedingung, die den Datensatz identifiziert<\/li>\n<\/ul>\n<p>Leider liefert <b>ColumnHistory <\/b>keine aussagekr&auml;ftigen Fehlermeldungen. Wenn sich in den Parametern ein Fehler eingeschlichen hat, erhalten Sie die Fehlermeldung mit dem Text <b>Automatisierungsfehler <\/b>und einer kryptischen Fehlernummer (siehe Bild 3). Ein Klick auf die <b>Hilfe<\/b>-Schaltfl&auml;che bringt Sie leider auch nicht weiter. Mit etwas Forschergeist finden Sie jedoch heraus, dass sich die Fehlernummern je nach Fehlerquelle unterscheiden. Fehlerhafte Tabellen- oder Feldnamen liefern Fehler mit unterschiedlichen Fehlernummern. Ein Fehler in der Bedingung l&ouml;st wieder einen anderen Fehler aus.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_03\/Memofelder-web-images\/Abb3_opt.jpeg\" alt=\"Abb3.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Die Fehlermeldung zur Funktion ColumnHistory ist leider wenig aussagekr&auml;ftig.<\/span><\/b><\/p>\n<p>Das machen wir uns zunutze und schreiben eine eigene globale Funktion mit dem Namen <b>ColumnHistory<\/b>, die abh&auml;ngig von der Fehlernummer eine aussagekr&auml;ftige Fehlerbeschreibung ausgibt. Wie kann eine Funktion mit demselben Namen wie eine in Access eingebaute Funktion funktionieren Das ist schnell erkl&auml;rt: Wenn VBA auf den Namen einer Funktion st&ouml;&szlig;t, sucht es zuerst im eigenen Modul, dann in den anderen Modulen des VBA-Projekts, danach in den Verweisen in der Reihenfolge ihrer Priorit&auml;t und zum Schluss wird in den eingebauten Verweisen (VBA und Access) gesucht. Details zu diesem Verhalten k&ouml;nnen Sie im Beitrag <b>Defekte Verweise: Ursachen und L&ouml;sungen<\/b> (Shortlink 572) nachlesen.<\/p>\n<p><!--30percent--><\/p>\n<p>Sie finden die nachgebaute Funktion <b>ColumnHistory <\/b>im Modul <b>mdl_MyApplication <\/b>der Beispieldatenbank. Der Hauptzweck der Funktion ist das Aufrufen seines eingebauten Pendants und die Ausgabe aussagekr&auml;ftiger Fehlermeldungen. Damit die Funktion sich dabei nicht selbst aufruft, stellen Sie dem Aufruf den Namen der Klasse <b>Application <\/b>voran. Da diese selbst geschriebene Funktion genau dieselben Parameter verwendet wie die Originalfunktion, k&ouml;nnen Sie das Modul ohne Probleme in jede Ihrer Datenbanken importieren. Zum Abschluss noch eine Bemerkung zum Parameter <b>Bedingung<\/b>. Sie k&ouml;nnen als Bedingung jede g&uuml;ltige Bedingung formulieren, die genau einen Datensatz zur&uuml;ckliefert. Wenn die Bedingung auf mehrere Datens&auml;tze zutrifft, quittiert Access dies mit einer Fehlermeldung. Am besten verwenden Sie eine Bedingung, die den Datensatz &uuml;ber das Prim&auml;rschl&uuml;sselfeld identifiziert (etwa <b>ID = 2<\/b>).<\/p>\n<p><b>Historie per VBA verarbeiten<\/b><\/p>\n<p>Unter Umst&auml;nden kann es Sinn machen, die &auml;nderungen am Memofeld in selbst gebauten Elementen der Benutzeroberfl&auml;che anzuzeigen &#8211; zum Beispiel dann, wenn das entsprechende Kontextmen&uuml; und damit auch der Befehl <b>Spaltenverlauf anzeigen &#8230; <\/b>deaktiviert ist. In professionellen Anwendungen werden Sie dies gelegentlich tun, um dem Benutzer gewisse Funktionen vorzuenthalten.<\/p>\n<p>Eine einfache M&ouml;glichkeit ist die Anzeige der Historie in einem Meldungsfenster. Dieses hat jedoch zwei Nachteile: Bei einer Vielzahl von &auml;nderungen wird der angezeigte Text schnell un&uuml;bersichtlich. Au&szlig;erdem liegen die &auml;nderungen in der falschen Reihenfolge vor, weil der aktuellste Wert am Ende der <b>MsgBox <\/b>angezeigt wird. Auch die Verwendung der neuen <b>DoCmd.Runcommand<\/b>-Konstanten <b>acCmdShowColumnHistory <\/b>bringt keine L&ouml;sung, weil auch die Eintr&auml;ge in der falschen Reihenfolge erscheinen.<\/p>\n<p>Alternativ bauen Sie neben dem betroffenen Memofeld eine Schaltfl&auml;che ein, die eine Ereignisprozedur mit folgendem Code ausl&ouml;st:<\/p>\n<pre>Dim strOpenArgs As String\r\nIf Nz(Me!txtID, vbNullString) = _\r\nvbNullString Then Exit Sub\r\nIf Me.Dirty Then Me.Dirty = False\r\nstrOpenArgs = \"tbl_Test\" &amp; \"|\" &amp; _\r\n\"Inhalt\" &amp; \"|\" &amp; \"ID = \" &amp; Me!txtID\r\nDoCmd.OpenForm \"zfrm_HistoryAnzeigen\" _\r\n, , , , , , strOpenArgs<\/pre>\n<p>Die Routine pr&uuml;ft zu Beginn, ob das Prim&auml;rschl&uuml;sselfeld gef&uuml;llt ist, und beendet die Routine anderenfalls. Alternativ speichert sie eventuelle &auml;nderungen, ermittelt die Parameter f&uuml;r die Funktion <b>ColumnHistory <\/b>und f&uuml;gt diese, durch das Pipe-Zeichen (<b>|<\/b>) getrennt, in einer Variablen zusammen. Diese findet &uuml;ber den Parameter <b>OpenArgs <\/b>den Weg zum anschlie&szlig;end ge&ouml;ffneten Formular <b>zfrm_HistoryAnzeigen<\/b>.<\/p>\n<p>Die Ereignisprozedur <b>Form_Open <\/b>des soeben ge&ouml;ffneten Formulars zerlegt das &Ouml;ffnungsargument mithilfe der <b>Split<\/b>-Funktion in ein Array. Die so ermittelten Teilinformationen landen in der Titelzeile des Formulars. Die Funktion <b>ShowColumnHistory<\/b> sorgt anschlie&szlig;end f&uuml;r die Aufbereitung und Anzeige der Daten. Als Parameter dient das per <b>OpenArgs <\/b>&uuml;bergebene Array.<\/p>\n<p>Die Funktion <b>ShowColumnHistory <\/b>aus Listing 1 erstellt ein ungebundenes Recordset, das sp&auml;ter als Datenquelle f&uuml;r ein Unterformular zur Anzeige der Historie dient. Damit das Recordset w&auml;hrend der gesamten Laufzeit des Formulars zur Verf&uuml;gung steht, wird die zugeh&ouml;rige Variable im Modulkopf deklariert.<\/p>\n<p class=\"kastentabelleheader\">Listing 1: Historie per VBA anzeigen<\/p>\n<pre>Private rst As ADODB.Recordset\r\nPrivate Sub ShowColumnHistory(astrOpenArgs() As String)\r\n    Dim strColumnHistory As String\r\n    Dim astrHistoryItems() As String\r\n    Dim i As Integer\r\n    Dim lngPos As Long\r\n    Set rst = New ADODB.Recordset\r\n    rst.CursorLocation = adUseClient\r\n    rst.LockType = adLockPessimistic\r\n    rst.Fields.Append \"HisTimeStamp\", adDate\r\n    rst.Fields.Append \"HisInhalt\", adVarChar, 500\r\n    rst.Open\r\n    strColumnHistory = ColumnHistory(astrOpenArgs(0), _\r\n    astrOpenArgs(1), astrOpenArgs(2))\r\n    astrHistoryItems() = Split(strColumnHistory, _\r\n    \"[Version: \")\r\n    For i = UBound(astrHistoryItems()) To _\r\n        LBound(astrHistoryItems()) + 1 Step -1\r\n        rst.AddNew\r\n        lngPos = InStr(astrHistoryItems(i), \" ] \")\r\n        rst!HisTimeStamp = Left$(astrHistoryItems(i), lngPos)\r\n        rst!HisInhalt = Mid$(astrHistoryItems(i), lngPos + 3)\r\n        rst.Update\r\n    Next i\r\n    Set Me!sfrm_History.Form.Recordset = rst\r\n    Me!sfrm_History.Form.Recordset.MoveFirst\r\n    End Sub<\/pre>\n<p>Die Routine selbst instanziert zun&auml;chst die Variable des Recordsets, stellt seine Eigenschaften <b>CursorLocation <\/b>und <b>LockType <\/b>entsprechend den Anforderungen eines ungebundenen Recordsets ein, h&auml;ngt die ben&ouml;tigten Felder mit der Methode <b>Append <\/b>an die <b>Fields<\/b>-Auflistung des Recordsets an und &ouml;ffnet das Recordset.<\/p>\n<p>Im zweiten Schritt speichert die Routine die mit der Funktion <b>ColumnHistory<\/b> ermittelte Historie in einer String-Variablen. Die notwendigen Parameter f&uuml;r die Funktion <b>ColumnHistory <\/b>stammen aus dem Array, das im <b>Form_Open<\/b>-Ereignis aus dem <b>OpenArgs<\/b>-Parameter gewonnen wurde.<\/p>\n<p>Damit die im Array enthaltenen Daten in das Recordset eingef&uuml;gt werden k&ouml;nnen, m&uuml;ssen die einzelnen Datens&auml;tze identifiziert werden. Hierbei hilft wiederum die <b>Split<\/b>-Funktion, welche die Daten in ein Array transformiert. Der Trick dabei liegt darin, den richtigen Wert f&uuml;r den Parameter <b>Delimiter <\/b>zu finden, um die einzelnen &auml;nderungen aus dem Inhalt der Zeichenkette zu ermitteln.<\/p>\n<p>Das Zeichen f&uuml;r den Zeilenwechsel (<b>vbCrLf<\/b>) f&auml;llt weg, weil der Inhalt eines Memofelds ja durchaus Zeilenwechsel enthalten kann.<\/p>\n<p>F&uuml;r die Trennung bietet sich ein anderer Wert an. Jeder Eintrag im Spaltenverlauf beginnt mit dem Text <b>[Version:<\/b>. Da nicht davon auszugehen ist, dass dieser Text als Inhalt im zu untersuchenden Feld gespeichert wird, kann dieser Text als Delimiter verwendet werden.<\/p>\n<p>Nachdem die gespeicherten &auml;nderungen jetzt in einem Array vorliegen, kann die Routine dieses in umgekehrter Reihenfolge durchlaufen und so die j&uuml;ngsten &auml;nderungen zuerst verarbeiten. Die Routine legt bei jedem Durchlauf einen neuen Datensatz im Recordset an. Dabei werden die Werte f&uuml;r den Zeitstempel und f&uuml;r die gespeicherte &auml;nderung an der Zeichenfolge <b>] <\/b>aufgetrennt. Schlie&szlig;lich weist die Routine dem Unterformular das ungebundene Recordset als Datenquelle zu. Als Ergebnis erhalten Sie am Ende ein Formular, das die gespeicherten &auml;nderungen in absteigender Reihenfolge anzeigt (siehe Bild 4). Dieses Formular bietet die M&ouml;glichkeit, in den angezeigten &auml;nderungen zu suchen. Auf diesem Weg k&ouml;nnen Sie sich schnell einen &Uuml;berblick verschaffen, wann welche &auml;nderung vorgenommen wurde.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_03\/Memofelder-web-images\/Abb4_opt.jpeg\" alt=\"Abb4.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4: Das Formular zur Anzeige der gespeicherten &auml;nderungen<\/span><\/b><\/p>\n<p>Bei der Gestaltung des Formulars wurde noch eine weitere Neuerung von Access 2007 verwendet: Die einzelnen Steuerelemente sind &uuml;ber die Anker-Funktion so eingestellt, dass sich das Feld zur Anzeige der &auml;nderungen bei Gr&ouml;&szlig;en&auml;nderung des Formulars automatisch nach unten und nach rechts ausdehnt.<\/p>\n<p>Sie k&ouml;nnen diese L&ouml;sung einfach in eigene Datenbanken &uuml;bernehmen. Importieren Sie dazu die Formulare <b>zfrm_HistoryAnzeigen <\/b>und <b>sfrm_ColumnHistory <\/b>aus der Beispieldatenbank. &Uuml;ber eine zus&auml;tzliche Schaltfl&auml;che auf Ihrem Formular bringen Sie das Formular zur Anzeige. Den Code daf&uuml;r &uuml;bernehmen Sie ebenfalls aus der Beispieldatenbank.<\/p>\n<p><b>Zusammenfassung<\/b><\/p>\n<p>Access 2007 bietet mit dem Append-Only-Memofeld die M&ouml;glichkeit, Daten&auml;nderungen in einem Feld zu historisieren. Die gespeicherten &auml;nderungen k&ouml;nnen &uuml;ber das Kontextmen&uuml; und &uuml;ber VBA sichtbar gemacht werden. Mit der in diesem Beitrag vorgestellten L&ouml;sung k&ouml;nnen Sie die gespeicherten &auml;nderungen &uuml;bersichtlich darstellen und bequem darin suchen. Die notwendigen Objekte k&ouml;nnen Sie leicht in Ihre Anwendung &uuml;bernehmen.<\/p>\n<p><b>Literaturhinweise<\/b><\/p>\n<p class=\"quellen\">[1] Informationen zum Append-Only-Memofeld: http:\/\/blogs.msdn.com\/thirdoffive\/archive\/2006\/08\/01\/684354.aspx<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>AppendOnly.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{0E13DB0C-C34D-4A7B-A44D-7F28EBFCE93B}\/aiu_664.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit Access 2007 hat Microsoft neben vielen anderen Neuerungen auch das Memofeld angepackt. So  speichert dieses nun formatierte Texte und kann au&szlig;erdem nach Wunsch alle &Auml;nderungen an den enthaltenen Texten protokollieren.  Dieser Beitrag zeigt, wie Sie ein Append-Only-Memofeld einrichten, wie es funktioniert und wie Sie die gespeicherten &Auml;nderungen lesen 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":[662009,66032009,44000023,44000021],"tags":[],"class_list":["post-55000664","post","type-post","status-publish","format-standard","hentry","category-662009","category-66032009","category-Mit_Formularen_arbeiten","category-Tabellen_und_Datenmodellierung"],"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>Das Append-Only-Memofeld - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Das Append-Only-Memofeld\" \/>\n<meta property=\"og:description\" content=\"Mit Access 2007 hat Microsoft neben vielen anderen Neuerungen auch das Memofeld angepackt. So speichert dieses nun formatierte Texte und kann au&szlig;erdem nach Wunsch alle &Auml;nderungen an den enthaltenen Texten protokollieren. Dieser Beitrag zeigt, wie Sie ein Append-Only-Memofeld einrichten, wie es funktioniert und wie Sie die gespeicherten &Auml;nderungen lesen k&ouml;nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T22:23:08+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg01.met.vgwort.de\/na\/ac1c2c7d477f41b98a81d1adcbfba018\" \/>\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=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Das Append-Only-Memofeld\",\"datePublished\":\"2020-05-22T22:23:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/\"},\"wordCount\":1720,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/ac1c2c7d477f41b98a81d1adcbfba018\",\"articleSection\":[\"2009\",\"3\\\/2009\",\"Mit Formularen arbeiten\",\"Tabellen und Datenmodellierung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/\",\"name\":\"Das Append-Only-Memofeld - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/ac1c2c7d477f41b98a81d1adcbfba018\",\"datePublished\":\"2020-05-22T22:23:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/ac1c2c7d477f41b98a81d1adcbfba018\",\"contentUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/ac1c2c7d477f41b98a81d1adcbfba018\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Das_AppendOnlyMemofeld\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Das Append-Only-Memofeld\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Das Append-Only-Memofeld - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/","og_locale":"de_DE","og_type":"article","og_title":"Das Append-Only-Memofeld","og_description":"Mit Access 2007 hat Microsoft neben vielen anderen Neuerungen auch das Memofeld angepackt. So speichert dieses nun formatierte Texte und kann au&szlig;erdem nach Wunsch alle &Auml;nderungen an den enthaltenen Texten protokollieren. Dieser Beitrag zeigt, wie Sie ein Append-Only-Memofeld einrichten, wie es funktioniert und wie Sie die gespeicherten &Auml;nderungen lesen k&ouml;nnen.","og_url":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T22:23:08+00:00","og_image":[{"url":"http:\/\/vg01.met.vgwort.de\/na\/ac1c2c7d477f41b98a81d1adcbfba018","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Das Append-Only-Memofeld","datePublished":"2020-05-22T22:23:08+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/"},"wordCount":1720,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/ac1c2c7d477f41b98a81d1adcbfba018","articleSection":["2009","3\/2009","Mit Formularen arbeiten","Tabellen und Datenmodellierung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/","url":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/","name":"Das Append-Only-Memofeld - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/ac1c2c7d477f41b98a81d1adcbfba018","datePublished":"2020-05-22T22:23:08+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/#primaryimage","url":"http:\/\/vg01.met.vgwort.de\/na\/ac1c2c7d477f41b98a81d1adcbfba018","contentUrl":"http:\/\/vg01.met.vgwort.de\/na\/ac1c2c7d477f41b98a81d1adcbfba018"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Das_AppendOnlyMemofeld\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Das Append-Only-Memofeld"}]},{"@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\/55000664","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=55000664"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000664\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000664"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000664"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000664"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}