{"id":55000231,"date":"2004-10-01T00:00:00","date_gmt":"2023-02-10T14:46:47","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=231"},"modified":"2024-02-19T08:13:55","modified_gmt":"2024-02-19T08:13:55","slug":"fehlerdokumentation","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/","title":{"rendered":"Fehlerdokumentation"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg05.met.vgwort.de\/na\/4cba864887a04644876db2846add6904\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>Es gibt wohl keine Anwendung, die absolut fehlerfrei ist. Selbst gestandene Softwareprodukte mit einer riesigen Benutzerschar wie beispielsweise die Microsoft Office-Produkte verschwinden schneller wieder vom Markt, als es bis zur Behebung aller vorhandenen Fehler dauert. Hier und auch bei selbst gebauter Software wie etwa einer Access-Datenbankanwendung gilt in jedem Fall die Maxime: Nur entdeckte Fehler k&ouml;nnen behoben werden &#8211; und bei deren &uuml;bermittlung hilft die folgende L&ouml;sung.<\/b><\/p>\n<p>Den herk&ouml;mmlichen Weg der Softwareentwicklung (ausgenommen die Wartung) kann man mit folgender Kette beschreiben: <\/p>\n<li>Lastenheft (Anforderungen aufnehmen) <\/li>\n<li>Pflichtenheft (Produkt spezifizieren) <\/li>\n<li>Softwareentwicklung <\/li>\n<li>Softwaretest <\/li>\n<li>Abnahme<\/li>\n<p>In den meisten F&auml;llen schleichen sich w&auml;hrend der Softwareentwicklung noch einige Iterationsschritte ein, in denen neue Ideen des Auftraggebers einflie&szlig;en und &auml;nderungen des Pflichtenheftes und der anschlie&szlig;enden Softwareentwicklung bewirken (gut) oder die stillschweigend einfach in das Produkt eingearbeitet werden (schlecht, da zwingend Abweichungen zwischen Pflichtenheft und Produkt entstehen).<\/p>\n<p>Auch das Testen des Produktes durch einen m&ouml;glichst neutralen Tester kann unter Umst&auml;nden &#8211; etwa bei gr&ouml;beren Fehlern &#8211; noch bis zum Pflichtenheft r&uuml;ckwirken. Selbst der gewissenhafteste Test wird aber in der Regel nicht alle denkbaren Anwendereingaben abfangen; somit ergeben Einf&uuml;hrungsphasen und eventuell sogar Produktivphasen noch Fehler, die Nachbesserungen erforderlich machen.<\/p>\n<p>Je mehr Fehler in dieser Phase auftauchen, desto schlimmer: Erstens ist es immer unbefriedigend, wenn der Anwender Fehler aufdeckt, zweitens kann dieser in der Regel nur vage Hinweise auf die Entstehung des Fehlers geben, geschweige denn eine Beschreibung zu dessen Reproduktion liefern.<\/p>\n<p>Der vorliegende Beitrag will Ans&auml;tze f&uuml;r eine angemessene Fehlerbehandlung und -dokumentation f&uuml;r diese Phase im Lebenszyklus eines Softwareproduktes liefern. Daher stellen die nachfolgenden Kapitel eine M&ouml;glichkeit vor, wie eine Anwendung bei Auftreten von Fehlern den Anwender in angemessener Weise davon in Kenntnis setzt und gleichzeitig eine f&uuml;r den Hersteller nutzbare Fehlerbeschreibung ausgibt.<\/p>\n<p>Das bedeutet erstens, dass die Anwendung den Benutzer nicht mit irgendeiner von Access selbst generierten Fehlermeldung abspeist, sondern ihn einfacher und verst&auml;ndlicher Form vom Auftreten eines Fehlers in Kenntnis setzt und ihn darum bittet, die notwendigen Informationen zur Behebung des Fehlers an den Hersteller zu schicken.<\/p>\n<p>Diese Informationen &#8211; und das ist der zweite Punkt &#8211; soll die Anwendung in einer leicht zu versendenden Form ausgeben. Im vorliegenden Fall soll das eine Textdatei mit dem beziehungsweise den aufgetretenen Fehlern sein.<\/p>\n<p>Die Fehlerbeschreibungen sollen mindestens die Angabe des Moduls, der Routine und der Zeile enthalten, die zum Fehler f&uuml;hrten. Dazu geh&ouml;rt, dass jede Zeile der Anwendung nummeriert ist. Wie man das ohne viel Aufwand bewerkstelligt, erl&auml;utert ein eigenes Kapitel.<\/p>\n<p>In vielen F&auml;llen kann es auch hilfreich sein, wenn die Fehlerbeschreibung zus&auml;tzlich Informationen &uuml;ber aktuell in der jeweiligen Routine verwendete Variablen enth&auml;lt. Ob und wie ausf&uuml;hrlich diese Informationen sein sollen, ist von Fall zu Fall zu entscheiden.<\/p>\n<p>Wie bereits erw&auml;hnt, sollte jede einzelne Prozedur eine Fehlerbehandlung enthalten. Der Grund ist, dass man nur so sicherstellt, dass nicht doch irgendwo ein Fehler auftritt, der zu einer nicht gew&uuml;nschten systemgenerierten Fehlermeldung f&uuml;hrt.<\/p>\n<p>Dazu geh&ouml;rt auch, dass Sie nicht nur die &uuml;blichen Fehlermeldungen behandeln, die im Code auftreten und die der Debugger in der Regel zuverl&auml;ssig entdeckt und mit Fehlernummer und Beschreibung ausgibt.<\/p>\n<p>Es gibt einige Fehler, die Access anders behandelt, soweit der Entwickler keine speziellen Ma&szlig;nahmen trifft. Dazu geh&ouml;ren etwa Formularfehler, die nicht unbedingt auf die im zugeh&ouml;rigen Formularmodul enthaltenen Routinen zur&uuml;ckzuf&uuml;hren sind, oder Fehler, die beim Ausf&uuml;hren von SQL-Anweisungen ohne Fehlerbehandlung auftreten. Hier sind spezielle Ma&szlig;nahmen vonn&ouml;ten, deren Beschreibung ebenfalls ein eigenes Kapitel einnimmt.<\/p>\n<p>Formulare liefern bei Fehleingaben Fehlermeldungen zur&uuml;ck, die normalerweise aussagekr&auml;ftig genug sind, um dem Benutzer den Fehler in angemessener Weise aufzuzeigen. Ein schnell nachvollziehbares Beispiel ist ein Textfeld, dessen Eigenschaft Format beispielsweise auf Allgemeine Zahl eingestellt ist (Abb. 1).<\/p>\n<p><IMG height=\"378\" src=\"..\/fileadmin\/_temp_\/{CB4C2E68-0CAA-4CAC-A3B3-C40A35C79F88}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 1: Auftreten eines Fehlers durch falsche Formulareingaben<\/b><\/p>\n<p>Gibt der Benutzer hier etwas anderes als eine Zahl ein, also beispielsweise eine Buchstabenfolge, erscheint die Fehlermeldung Sie haben einen Wert eingegeben, der f&uuml;r dieses Feld nicht zul&auml;ssig ist. Diese Fehlermeldung erscheint auch, wenn man den Datentyp eines eventuell an dieses Feld gebundenen Tabellenfeldes verfehlt.<\/p>\n<p>Abhilfe schafft ein Zweizeiler. Mit der folgenden Prozedur, die durch die Ereigniseigenschaft Bei Fehler des Formulars ausgel&ouml;st wird, findet der Benutzer eine alternative Fehlermeldung vor:<\/p>\n<pre>Private Sub Form_Error(DataErr As _    Integer, Response As Integer)\n    MsgBox \"Es ist ein Fehler \" _       & \"aufgetreten. (\" & DataErr & \")\"\n    Response = acDataErrContinue\nEnd Sub<\/pre>\n<p>Die erste Anweisung gibt eine Meldung mit einem kurzen Hinweis und der Fehlernummer aus, die zweite unterbindet die herk&ouml;mmliche Fehlermeldung.<\/p>\n<p>Dazu verwendet die Prozedur den Parameter DataErr, der die Fehlernummer enth&auml;lt, sowie den Parameter Response, dem man eine der beiden Konstanten acDataErrContinue (herk&ouml;mmliche Fehlermeldung auslassen) oder acDataErrDisplay (Standardwert) zuweist.<\/p>\n<p>Nat&uuml;rlich sind Eingabefehler des Benutzers kein Grund, Eintr&auml;ge in eine Fehlerprotokolldatei vorzunehmen und diese gegebenenfalls auch noch an den Hersteller zu schicken &#8211; das sollten Sie sich f&uuml;r andere Kaliber aufsparen. Eingabefehler sollten Sie besser durch eine entsprechende Validierung beim Eintreten des Ereignisses Vor Aktualisierung verhindern.<\/p>\n<p>Mit der On Error-Ereigniseigenschaft beugen Sie allerdings unterwarteten Fehlern vor und k&ouml;nnen mit Hilfe entsprechender Ma&szlig;nahmen den Benutzer und den Hersteller angemessen informieren. Wie diese Information genau aussieht, erfahren Sie in Kapitel 4.<\/p>\n<h3>Berichte wie Formulare behandeln<\/h3>\n<p>In Berichten sieht es &auml;hnlich aus. Es kann selbst in der ausgefeiltesten Software vorkommen, dass der Anwender mit unerwarteten Eingaben f&uuml;r nicht weniger unerwartete Fehler sorgt.<\/p>\n<p>Bei Berichten sind die Fehleingaben zwar schon vorher da, aber vermutlich nicht entsprechend verhindert worden. Um auf Nummer Sicher zu gehen, macht man sich auch hier die Ereigniseigenschaft On Error zu Nutze.<\/p>\n<p>Nachdem Sie nun wissen, wo &uuml;berall eine Fehlerbehandlung hingeh&ouml;rt, ben&ouml;tigen Sie noch die Details zu deren Inhalt und Erscheinungsbild.<\/p>\n<p>Um den Kunden beziehungsweise Benutzer Ihrer Datenbank mit m&ouml;glichst wenig Umst&auml;nden zu belasten (Was haben Sie genau gemacht? Wo ist der Fehler aufgetreten? Welche Fehlermeldung gibt es? K&ouml;nnen Sie mir einen Screenshot von der Ansicht machen, in der die gelb markierte, fehlerhafte Zeile zu sehen ist?), beschaffen Sie all diese Informationen weitgehend automatisiert.<\/p>\n<p>Das nachfolgend vorgestellte Prinzip ist einfach: Sie f&uuml;gen jeder Fehlerbehandlung neben den &uuml;blichen Bestandteilen den Aufruf einer Funktion zu, die alle ben&ouml;tigten Daten in eine Textdatei schreibt. Diese k&ouml;nnen Sie sich dann leicht per E-Mail oder Fax zukommen lassen, auswerten und damit hoffentlich den Fehler beheben.<\/p>\n<h2>Fehlerbehandlung &#8211; herk&ouml;mmlicher Teil<\/h2>\n<p>In der Regel platziert man die Fehlerbehandlung an das Ende einer Prozedur. Ausnahmen sind provozierte Fehler w&auml;hrend des Ablaufs einer Prozedur, um beispielsweise eine Word-Instanz als Objekt zugreifbar zu machen: Dann versucht man zun&auml;chst, eine bestehende Word-Instanz zu finden, indem man einfach auf diese zugreift.<\/p>\n<p>Ist Word nicht ge&ouml;ffnet, erzeugt dies einen Fehler, der direkt im Anschluss erkannt und behandelt wird, damit man die fehlende Word-Instanz selbst herstellen kann.<\/p>\n<p>Eine Fehlerbehandlung k&ouml;nnte beispielsweise wie in Quellcode 1 aussehen. <\/p>\n<p>Wichtig sind die folgenden drei Elemente:<\/p>\n<li>Vor der ersten potenziellen Fehlerquelle befindet sich eine Anweisung, dass im Falle eines Fehlers die Fehlerbehandlung startet.<\/li>\n<li>Die Marke Personalliste_Exit legt den Beginn eines Teils der Prozedur fest, der auch bei Auftreten eines Fehlers noch ausgef&uuml;hrt werden soll. Darin k&ouml;nnen Restarbeiten wie das Schlie&szlig;en oder Entladen von Objekten erledigt werden.<\/li>\n<li>Die Marke Personalliste_Err enth&auml;lt den eigentlich wichtigen Teil der Fehlerbehandlung, der die Fehlerinformationen in ein Meldungsfenster oder im Testfenster ausgibt oder eine spezielle Funktion zur Fehlerbehandlung startet. Wichtig ist, dass die eigentliche Prozedur vor dem Erreichen der Fehlerbehandlung endet &#8211; das l&auml;sst sich wie im Beispiel mit der Exit-Anweisung erledigen.<\/li>\n<h2>Fehlerbehandlung &#8211; spezieller Teil<\/h2>\n<p>Die soeben angedeutete &#8222;spezielle Funktion zur Fehlerbehandlung&#8220; sieht vor, genaue Daten zum Fehler in eine Datei zu schreiben, damit der Benutzer die Fehlerinformationen komfortabel an den Hersteller weitergeben kann.<\/p>\n<pre>Public Sub Personalliste()\n    On Error Goto Personalliste_Err\n    Dim db As DAO.Database\n    Dim rst As Recordset\n    Set db = CurrentDb\n    Set rst = db.OpenRecordset(\"Personal\", _        dbOpenDynaset)\n    ''''...weitere Anweisungen\nPersonalliste_Exit:\n    rst.Close\n    Set rst = Nothing\n    Set db = Nothing\n    Exit Sub\nPersonalliste_Err:\n    Debug.Print Err.Number & \" \" & Err.Description\n    Resume Personalliste_Exit\nEnd Sub<\/pre>\n<p><b>Quellcode 1<\/b><\/p>\n<p>Die Datei soll folgende Informationen enthalten:<\/p>\n<li>Datum und Zeit<\/li>\n<li>Datenbankname und -pfad<\/li>\n<li>Aktueller Benutzer<\/li>\n<li>Modulname<\/li>\n<li>Funktions- oder Prozedurname<\/li>\n<li>Fehlernummer<\/li>\n<li>Fehlerbeschreibung<\/li>\n<li>Ausl&ouml;sende Zeile<\/li>\n<li>Gegebenenfalls zus&auml;tzliche Kommentare<\/li>\n<h3>Aufruf der Funktion zur Fehlerbehandlung<\/h3>\n<p>Der Aufruf &uuml;bergibt nur die prozedur- beziehungsweise fehlerspezifischen Daten an die Zielfunktion, die anderen Informationen ermittelt diese selber.<\/p>\n<p>Zum Aufrufen der Fehlerbehandlungsfunktion platzieren Sie die folgende Anweisung im Anschluss an den Marker &lt;Prozedurname&gt;_Err (ohne Zeilenumbr&uuml;che):<\/p>\n<pre>Fehlerbehandlung \"&lt;Modulname&gt;\" , \"&lt;Prozedurname&gt;\" , Err.Number, Err.Description, erl , \"&lt;Bemerkungen&gt;\"<\/pre>\n<p>Die Parameter &lt;Modulname&gt;, &lt;Prozedurname&gt; und &lt;Bemerkungen&gt; sind selbsterkl&auml;rend und m&uuml;ssen die entsprechenden Informationen enthalten. Aber was ist nun erl? Es handelt sich dabei um eine undokumentierte Funktion, die beim Auftreten eines Fehlers die Nummer der ausl&ouml;senden Zeile zur&uuml;ckgibt. Das setzt nat&uuml;rlich voraus, dass alle Zeilen mit einer Nummer versehen sind &#8211; was wiederum eine Menge Arbeit verspricht.<\/p>\n<h3>Hinweis<\/h3>\n<p>Zum Gl&uuml;ck m&uuml;ssen Sie als Leser von Access im Unternehmen sich diese Arbeit nicht machen, denn in der vorliegenden Ausgabe finden Sie einen Beitrag namens &#8222;Erweitern der VBA-Entwicklungsumgebung&#8220;: Dort wird eine M&ouml;glichkeit vorgestellt, per DLL Funktionen in der VBA-IDE verf&uuml;gbar zu machen &#8211; beispielsweise zum Nummerieren kompletter Module und zum automatischen Hinzuf&uuml;gen von Fehlerbehandlungscode zu bestehenden Prozeduren. <\/p>\n<h3>Fehlerbehandlungsfunktion<\/h3>\n<p>Sind alle Zeilen nummeriert und ist die Fehlerbehandlung mit dem Funktionsaufruf versehen, ben&ouml;tigen Sie nur noch die eigentliche Funktion, die alle ben&ouml;tigten Informationen in eine Log-Datei schreibt.<\/p>\n<p>Das Aussehen dieser Funktion k&ouml;nnen Sie Quellcode 2 entnehmen. Der Aufbau ist relativ einfach: Die Funktion &ouml;ffnet die Textdatei, die im gleichen Verzeichnis wie die Datenbank liegt, schreibt einen Block f&uuml;r den aktuellen Fehler hinein und schlie&szlig;t die Datei wieder. <\/p>\n<pre>Public Function Fehlerbehandlung(strModul As String, strRoutine As String, lngNumber _    As Long, strDesc as String, lngZeile As Long, Optional strRemarks As String)\n    Open Anwendungspfad & \"Fehler.log\" For Append As #1\n    Print #1, \"Datum:              \" & Format(Now, \"yyyy-mm-dd, hh:nn:ss\")\n    Print #1, \"Datenbankpfad:      \" & CurrentDb.Name\n    Print #1, \"Modul:              \" & strModule\n    Print #1, \"Routine:            \" & strRoutine\n    Print #1, \"Benutzer:           \" & CurrentUser()\n    Print #1, \"Fehlernummer:       \" & lngNumber\n    Print #1, \"Fehlerbeschreibung: \" & strDesc\n    Print #1, \"Zeile:              \" & lngZeile\n    Print #1, \"Bemerkungen:        \" & strRemarks\n    Print #1, \"\"\n    Close #1\nEnd Function<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<pre>Public Function Anwendungspfad()\n    Anwendungspfad = mID(CurrentDb.Name, 1, Len(CurrentDb.Name) - _        Len(Dir(CurrentDb.Name)))\nEnd Function<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<p>Zur Ermittlung des Pfades der aktuellen Datenbank verwendet die Prozedur die Funktion Anwendungspfad (s. Quellcode 3). Die beiden verwendeten Funktionen speichern Sie am besten in einem separaten Modul.<\/p>\n<p>Das Aussehen eines durch die Fehlerbehandlung in der Fehlerprotokolldatei erzeugten Eintrags k&ouml;nnen Sie Abb. 2 entnehmen.<\/p>\n<p><IMG height=\"227\" src=\"..\/fileadmin\/_temp_\/{CB4C2E68-0CAA-4CAC-A3B3-C40A35C79F88}\/pic002.png\" width=\"454\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 2: Datei mit Fehlerangaben<\/b><\/p>\n<p>Die Fehlerbehandlung in der vorgestellten Form k&ouml;nnen Sie nat&uuml;rlich auch f&uuml;r eigene Zwecke einsetzen &#8211; manchmal treten hier und da Fehler auf und w&auml;hrend man den einen Fehler ausb&uuml;gelt, vergisst man vielleicht einen anderen. <\/p>\n<p>Ein Blick in die Fehlerdokumentation teilt Ihnen dann schnell mit, wo es &uuml;berall gehakt hat.<\/p>\n<p>Statt einer einfachen Textdatei k&ouml;nnen Sie nat&uuml;rlich auch zu einem moderneren Format greifen und die Daten im XML-Format speichern. Allerdings m&uuml;ssen Sie selbst abw&auml;gen, ob der Aufwand vertretbar ist.<\/p>\n<p>Eine interessante Erweiterung w&auml;re die Integration der im Beitrag Mail versenden ohne Outlook aus Ausgabe 4\/2004 vorgestellten M&ouml;glichkeiten zum Versenden von E-Mails direkt via SMTP. Nat&uuml;rlich m&uuml;ssen Sie dazu vorher die Zustimmung des Anwenders einholen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es gibt wohl keine Anwendung, die absolut fehlerfrei ist. Selbst gestandene Softwareprodukte mit einer riesigen Benutzerschar wie beispielsweise die Microsoft Office-Produkte verschwinden schneller wieder vom Markt, als es bis zur Behebung aller vorhandenen Fehler dauert. Hier und auch bei selbst gebauter Software wie etwa einer Access-Datenbankanwendung gilt in jedem Fall die Maxime: Nur entdeckte Fehler k&ouml;nnen behoben werden &#8211; und bei deren &Uuml;bermittlung hilft die folgende L&ouml;sung.<\/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":[662004,66052004,44000028,44000025],"tags":[],"class_list":["post-55000231","post","type-post","status-publish","format-standard","hentry","category-662004","category-66052004","category-Ergonomie_und_Benutzeroberflaeche","category-VBA_und_Programmiertechniken"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Fehlerdokumentation - 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\/fehlerdokumentation\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fehlerdokumentation\" \/>\n<meta property=\"og:description\" content=\"Es gibt wohl keine Anwendung, die absolut fehlerfrei ist. Selbst gestandene Softwareprodukte mit einer riesigen Benutzerschar wie beispielsweise die Microsoft Office-Produkte verschwinden schneller wieder vom Markt, als es bis zur Behebung aller vorhandenen Fehler dauert. Hier und auch bei selbst gebauter Software wie etwa einer Access-Datenbankanwendung gilt in jedem Fall die Maxime: Nur entdeckte Fehler k&ouml;nnen behoben werden - und bei deren &Uuml;bermittlung hilft die folgende L&ouml;sung.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-10T14:46:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-19T08:13:55+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg05.met.vgwort.de\/na\/4cba864887a04644876db2846add6904\" \/>\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=\"10\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Fehlerdokumentation\",\"datePublished\":\"2023-02-10T14:46:47+00:00\",\"dateModified\":\"2024-02-19T08:13:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/\"},\"wordCount\":1833,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/4cba864887a04644876db2846add6904\",\"articleSection\":[\"2004\",\"5\\\/2004\",\"Ergonomie und Benutzeroberfl\u00e4che\",\"VBA und Programmiertechniken\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/\",\"name\":\"Fehlerdokumentation - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/4cba864887a04644876db2846add6904\",\"datePublished\":\"2023-02-10T14:46:47+00:00\",\"dateModified\":\"2024-02-19T08:13:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/4cba864887a04644876db2846add6904\",\"contentUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/4cba864887a04644876db2846add6904\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/fehlerdokumentation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fehlerdokumentation\"}]},{\"@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":"Fehlerdokumentation - 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\/fehlerdokumentation\/","og_locale":"de_DE","og_type":"article","og_title":"Fehlerdokumentation","og_description":"Es gibt wohl keine Anwendung, die absolut fehlerfrei ist. Selbst gestandene Softwareprodukte mit einer riesigen Benutzerschar wie beispielsweise die Microsoft Office-Produkte verschwinden schneller wieder vom Markt, als es bis zur Behebung aller vorhandenen Fehler dauert. Hier und auch bei selbst gebauter Software wie etwa einer Access-Datenbankanwendung gilt in jedem Fall die Maxime: Nur entdeckte Fehler k&ouml;nnen behoben werden - und bei deren &Uuml;bermittlung hilft die folgende L&ouml;sung.","og_url":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/","og_site_name":"Access im Unternehmen","article_published_time":"2023-02-10T14:46:47+00:00","article_modified_time":"2024-02-19T08:13:55+00:00","og_image":[{"url":"http:\/\/vg05.met.vgwort.de\/na\/4cba864887a04644876db2846add6904","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"10\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Fehlerdokumentation","datePublished":"2023-02-10T14:46:47+00:00","dateModified":"2024-02-19T08:13:55+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/"},"wordCount":1833,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/#primaryimage"},"thumbnailUrl":"http:\/\/vg05.met.vgwort.de\/na\/4cba864887a04644876db2846add6904","articleSection":["2004","5\/2004","Ergonomie und Benutzeroberfl\u00e4che","VBA und Programmiertechniken"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/","url":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/","name":"Fehlerdokumentation - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/#primaryimage"},"thumbnailUrl":"http:\/\/vg05.met.vgwort.de\/na\/4cba864887a04644876db2846add6904","datePublished":"2023-02-10T14:46:47+00:00","dateModified":"2024-02-19T08:13:55+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/#primaryimage","url":"http:\/\/vg05.met.vgwort.de\/na\/4cba864887a04644876db2846add6904","contentUrl":"http:\/\/vg05.met.vgwort.de\/na\/4cba864887a04644876db2846add6904"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/fehlerdokumentation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Fehlerdokumentation"}]},{"@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\/55000231","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=55000231"}],"version-history":[{"count":1,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000231\/revisions"}],"predecessor-version":[{"id":88075289,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000231\/revisions\/88075289"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}