{"id":55000305,"date":"2005-10-01T00:00:00","date_gmt":"2020-05-06T15:18:08","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=305"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Dynamisches_Hilfe_und_Dokumentationssystem","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/","title":{"rendered":"Dynamisches Hilfe- und Dokumentationssystem"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/529222a3c6f049609f7a32c44da4c3e7\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<h3>Zusammenfassung<\/h3>\n<p>Sie erfahren, wie Sie eine Anwendung mit einem individuellen und durch den Benutzer erweiterbaren Hilfesystem ausstatten.<\/p>\n<h3>Techniken<\/h3>\n<p>Formulare, Berichte, VBA<\/p>\n<h3>Voraussetzungen<\/h3>\n<p>Access 97 oder h&ouml;her<\/p>\n<h3>Beispieldateien<\/h3>\n<p><a href=''fileadmin\/files\/57_64_acc0505ml02.zip''>Hilfesystem97.mdb, Hilfesystem00.mdb<\/a><\/p>\n<h3><\/h3>\n<p><b>Dirk Bauer, D&uuml;sseldorf<\/b><\/p>\n<p><b>Haben Sie wieder einmal eine Anwendung auf Basis von Access fertig gestellt und verzweifeln nun an der Dokumentation sowie dem beauftragten Hilfesystem Dieser Beitrag zeigt einen Ansatz, mit dem Sie die Hilfe und die Dokumentation einfach in Ihre Anwendung integrieren k&ouml;nnen. Und das Sch&ouml;nste f&uuml;r den Entwickler ist: Die Anwender k&ouml;nnen einen nicht unerheblichen Beitrag zu diesem Thema leisten.<\/b><\/p>\n<p><b><\/b><\/p>\n<p>Welcher Softwareentwickler kennt das nicht: Nach intensiver Arbeit wird die lang geplante Software endlich fertig gestellt. Was nun noch fehlt, ist eine Dokumentation aller Masken und Eingabem&ouml;glichkeiten der Applikation. Diese Dokumentation soll dann je nach Einsatzzweck entweder als Hilfesystem in die Anwendung integriert sein oder als druckbare Referenz &uuml;bergeben werden. Wenn dann aber einige Formulierungen des Softwareentwicklers nicht exakt die internen Abl&auml;ufe und Begriffe des Auftraggebers wiedergeben, wird das Thema schnell sehr komplex und aufw&auml;ndig.<\/p>\n<p>In der letzten Zeit erf&auml;hrt die Internetseite Wikipedia (http:\/\/www.wikipedia.de) immer mehr Aufmerksamkeit.<\/p>\n<p>Wikipedia ist eine freie Enzyklop&auml;die in mehr als 100 Sprachen, zu der jeder mit seinem Wissen beitragen kann. Auf der Internetseite ist es jedem Anwender m&ouml;glich, neue Texte zu erfassen, bereits vorhandene Texte zu &uuml;berarbeiten und zu erg&auml;nzen sowie Fehler zu korrigieren.<\/p>\n<p>Was bei tausenden von Anwendern klappt, kann nun auch in Ihrer Anwendung zu einem echten Highlight werden.<\/p>\n<p>Die Grafik aus Bild 1 stellt eine &uuml;bersicht des L&ouml;sungsansatzes dar.<\/p>\n<p>Um die nachtr&auml;gliche Implementierung dieses lernf&auml;higen Hilfekonzeptes in eine bestehende Access-Anwendung so einfach wie m&ouml;glich zu gestalten, werden alle wesentlichen Routinen und Elemente nur einmal zentral angelegt.<\/p>\n<p><IMG height=\"626\" src=\"..\/fileadmin\/_temp_\/{754DF83E-85E0-42FB-AAB5-071A7424411A}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Das Konzept<\/span><\/b><\/p>\n<p><IMG height=\"144\" src=\"..\/fileadmin\/_temp_\/{754DF83E-85E0-42FB-AAB5-071A7424411A}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Entwurf der Tabelle tblHilfesystem<\/span><\/b><\/p>\n<p><IMG height=\"227\" src=\"..\/fileadmin\/_temp_\/{754DF83E-85E0-42FB-AAB5-071A7424411A}\/pic003.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Beispielansicht einer gef&uuml;llten Tabelle tblHilfesystem<\/span><\/b><\/p>\n<p>Die Anwendung besteht aus den folgenden Elementen:<\/p>\n<li>Tabelle tblHilfesystem<\/li>\n<li>Formular frmHilfesystem<\/li>\n<li>Bericht repHilfesystem<\/li>\n<li>Modul basHilfesystem<\/li>\n<p>Sobald diese zentralen Elemente in der Anwendung vorhanden sind, beschr&auml;nkt sich der &auml;nderungsaufwand in den einzelnen Formularen auf das Einf&uuml;gen einer einzigen Schaltfl&auml;che zum &ouml;ffnen der Hilfe.<\/p>\n<p>Im Folgenden erfahren Sie, wie die genannten Elemente erstellt und miteinander verbunden werden.<\/p>\n<p>Die Tabelle tblHilfesystem dient zur Aufnahme der Formulare, der in den Formularen enthaltenen Steuerelemente sowie der Dokumentation der Elemente.<\/p>\n<p>Erstellen Sie in Ihrer Datenbank eine neue Tabelle tblHilfesystem mit den Feldern aus Bild 2. Die Textfelder erhalten jeweils die Feldgr&ouml;&szlig;e 100.<\/p>\n<p>Das Feld HilfeID wird als Prim&auml;rschl&uuml;ssel (PK) markiert.<\/p>\n<p>Das Feld Formularname wird sp&auml;ter automatisch mit dem Formularnamen gef&uuml;llt, den Sie im Datenbankfenster f&uuml;r das jeweilige Formular verwendet haben.<\/p>\n<p>Das Feld SteuerelementName nimmt alle Namen der Steuerelemente auf, die vom Anwender zur Eingabe von Daten verwendet werden k&ouml;nnen.<\/p>\n<p>Das Feld Beschreibung wird von der Laderoutine beim erstmaligen &ouml;ffnen eines Formulars zun&auml;chst mit einer Kopie des Wertes aus dem Feld SteuerelementName vorbelegt.<\/p>\n<p>Falls Sie etwa in einem Formular ein Feld txtVorname verwenden, k&ouml;nnen Sie die Bezeichnung in ein anwenderfreundliches Vorname &auml;ndern. Das Feld Bezeichnung wird dem Anwender sp&auml;ter in der Benutzeroberfl&auml;che pr&auml;sentiert. Das Feld Hilfetext nimmt alle Hinweise und Beschreibungen zu dem jeweiligen Steuerelement auf. Aufgrund der nicht vorhersehbaren Textmengen wird dieses Feld mit dem Datentyp Memo angelegt, da es bei Textfeldern in Access eine Begrenzung auf 255 Zeichen gibt. Bild 3 zeigt exemplarisch die mit einigen Beispieldaten gef&uuml;llte Tabelle tblHilfesystem.<\/p>\n<p><b>Quellcode 1: Code des Moduls basHilfesystem<\/b><\/p>\n<pre>Public Function HilfeAnzeigen()\r\n    ''nimmt eine Referenz auf das aktuell ge&ouml;ffnete Form auf\r\n    Dim frm As Form\r\n    Dim ctrl As Control    \r\n    Dim db As DAO.Database\r\n    Dim rs As DAO.Recordset\r\n    '' Ermitteln des aktiven Formulars\r\n    Set frm = Screen.ActiveForm    \r\n    '' Ermitteln, ob f&uuml;r das aktuelle Form bereits Daten hinterlegt wurden\r\n    Set db = CurrentDb\r\n    Set rs = db.OpenRecordset(\"SELECT * FROM tblHilfesystem WHERE FormularName = ''\" _        + frm.Name + \"''\")    \r\n    If rs.RecordCount = 0 Then\r\n        '' keine Daten vorhanden, also alle Controls des aktuellen Formulars einlesen\r\n        For Each ctrl In frm.Controls        \r\n            Select Case ctrl.ControlType\r\n                Case acTextBox, acCommandButton, acCheckBox, acComboBox, acListBox, _                    acOptionButton, acToggleButton, acOptionGroup                    rs.AddNew\r\n                    '' Name des Formulars\r\n                    rs!FormularName = frm.Name\r\n                    '' Name des Steuerelementes (fix)\r\n                    rs!SteuerelementName = ctrl.Name\r\n                    '' Kopie des Wertes \"Name des Steuerelementes\",                     '' kann vom Anwender editiert werden\r\n                    rs!Beschreibung = ctrl.Name\r\n                    rs.Update\r\n            End Select            \r\n        Next    \r\n    End If\r\n    rs.Close\r\n    db.Close    \r\n    '' &ouml;ffnen des Hilfeformulars mit dem Verweis auf das aktuelle Formular\r\n    DoCmd.OpenForm FormName:=\"frmHilfesystem\", OpenArgs:=frm.Name, _        WhereCondition:=\"FormularName=''\" + frm.Name + \"''\"        \r\nEnd Function<\/pre>\n<p><!--30percent--><\/p>\n<p>Bei der Entwicklung des vorliegenden L&ouml;sungsansatzes wurde besonderer Wert auf eine einfache Integration in vorhandene und zuk&uuml;nftige Projekte gelegt. Aus diesem Grund wird der komplette Quellcode in dem zentralen Modul basHilfesystem und in dem unter Punkt 6 beschriebenen Formular frmHilfesystem abgelegt. Wenn Sie die L&ouml;sung einmal in einer Anwendung fertig gestellt haben, k&ouml;nnen Sie eine weitere Datenbank durch den einfachen Import der weiter oben beschriebenen Objekte jederzeit mit dem Hilfesystem ausstatten.<\/p>\n<p>Dreh- und Angelpunkt der Funktionalit&auml;t ist die Routine HilfeAnzeigen im Modul basHilfesystem. Diese &ouml;ffentliche Funktion wird sp&auml;ter von jedem Formular aus aufgerufen, welches Zugriff auf das zentrale Hilfesystem hat.<\/p>\n<p>Die Routine deklariert zun&auml;chst die notwendigen Variablen und ermittelt anschlie&szlig;end mit der Methode Screen.ActiveForm das Formular, von dem aus der Aufruf erfolgt.<\/p>\n<p>Das Recordset-Objekt rs wird anschlie&szlig;end mit allen Datens&auml;tzen der Tabelle tblHilfesystem gef&uuml;llt, die sich auf das soeben ermittelte Formular beziehen.<\/p>\n<p>Enth&auml;lt die Tabelle tblHilfesystem keine passenden Datens&auml;tze, durchl&auml;uft die Routine in einer For Each-Schleife alle im Formular enthaltenen Steuerelemente, die zur Eingabe oder Auswahl von Daten verwendet werden k&ouml;nnen. <\/p>\n<p>Die Variable ctrl enth&auml;lt jeweils den Verweis auf das entsprechende Steuerelement. Einige Attribute des Steuerelementes werden dann in der Tabelle tblHilfesystem gespeichert:<\/p>\n<li>der Formularname im Feld Formularname,<\/li>\n<li>der Steuerelementname im Feld Steuerelementname<\/li>\n<li>und nochmals der Steuerelementname im Feld Beschreibung.<\/li>\n<p>Letzteres Feld kann sp&auml;ter vom Anwender &uuml;berschrieben werden.<\/p>\n<p>Unabh&auml;ngig davon, ob die Steuerelemente des Formulars erst jetzt oder bereits vorher in der Tabelle tblHilfesystem gespeichert wurden, wird nun das Formular frmHilfesystem ge&ouml;ffnet und es zeigt die Eintr&auml;ge f&uuml;r die in dem Formular enthaltenen Steuerelemente an &#8211; mehr zu diesem Formular weiter unten.<\/p>\n<p>Der Aufruf des Formulars erfolgt mit der Anweisung DoCmd.OpenForm. Hierbei sind besonders die beiden Argumente OpenArgs und WhereCondition zu beachten. Mit OpenArgs:=frm.Name wird dem zentralen Hilfeformular der Name des derzeit noch aktiven Formulars &uuml;bergeben.<\/p>\n<p>Der Parameter WhereCondition:=&#8220;FormularName=&#8220;&#8220; + frm.Name + &#8222;&#8220;&#8220; filtert die Datenherkunft des Formulars &#8211; die Tabelle tblHilfesystem.<\/p>\n<p>Nach der Erstellung der Tabelle und der Funktion zum Best&uuml;cken der Tabelle sowie zum Anzeigen des Hilfeformulars erfolgt nun das Design der Benutzerschnittstelle.<\/p>\n<p>Das Formular frmHilfesystem basiert auf der bereits beschriebenen Tabelle tblHilfesystem. Es zeigt die zum aktuellen Formular verf&uuml;gbaren Beschreibungen und Hilfetexte an.<\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Eigenschaft<\/b><\/p>\n<\/td>\n<td>\n<p><b>Wert<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Datenherkunft<\/p>\n<\/td>\n<td>\n<p>tblHilfesystem<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Beschriftung<\/p>\n<\/td>\n<td>\n<p>Dynamisches Hilfe- und Informationssystem<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Standardansicht<\/p>\n<\/td>\n<td>\n<p>Endlosformular<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>L&ouml;schen zulassen<\/p>\n<\/td>\n<td>\n<p>Nein<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Anf&uuml;gen zulassen<\/p>\n<\/td>\n<td>\n<p>Nein<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Bildlaufleisten<\/p>\n<\/td>\n<td>\n<p>Nur vertikal<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Datensatzmarkierer<\/p>\n<\/td>\n<td>\n<p>Nein<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Rahmenart<\/p>\n<\/td>\n<td>\n<p>D&uuml;nn<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 1: Eigenschaften des Formulars frmHilfesystem<\/b><\/p>\n<p>F&uuml;hren Sie anschlie&szlig;end die folgenden Schritte durch:<\/p>\n<p><b>Quellcode 2: Routine zum Filtern der angezeigten Datens&auml;tze<\/b><\/p>\n<pre>Private Sub FilterAktualisieren()\r\n    If Len(\"\" + Me!txtFilter) &gt; 0 Then\r\n        Me.Filter = \"FormularName = ''\" + Me.OpenArgs + \"'' AND (Beschreibung LIKE ''*\" _            + Me!txtFilter + \"*'' OR SteuerelementName LIKE ''*\" + Me!txtFilter + \"*'')\"\r\n    Else\r\n        Me.Filter = \"FormularName = ''\" + Me.OpenArgs + \"''\"\r\n    End If\r\nEnd Sub<\/pre>\n<p><IMG height=\"455\" src=\"..\/fileadmin\/_temp_\/{754DF83E-85E0-42FB-AAB5-071A7424411A}\/pic004.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Formular frmHilfesystem im Entwurf<\/span><\/b><\/p>\n<p>Das Textfeld zum Filtern der Steuerelemente soll den vom Anwender eingegebe Text mit einer LIKE-Abfrage aus den Feldern SteuerelementName oder Beschreibung filtern. Dazu legen Sie zun&auml;chst im Formular frmHilfesystem die Routine aus Quellcode 2 an.<\/p>\n<p>Die Routine gepr&uuml;ft zun&auml;chst, ob das Feld txtFilter &uuml;berhaupt einen Text enth&auml;lt. Falls es leer ist, besteht der Filter lediglich aus dem Feld Formularname und wird wie in der Voreinstellung auf den Formularnamen gesetzt.<\/p>\n<p>Das f&uuml;hrt dazu, dass in dem Hilfeformular alle abgelegten Steuerelemente des aufrufenden Formulars angezeigt werden.<\/p>\n<p>Falls das Feld txtFilter hingegen mit einem Text gef&uuml;llt ist, wird der Filter so erg&auml;nzt, dass auch alle Eintr&auml;ge angezeigt werden, deren Felder Steuerelementname und Beschreibung den im Textfeld angegebenen Begriff enthalten.<\/p>\n<p>Es werden nun nur noch die Steuerelemente des aktiven Formulars angezeigt, die dem zus&auml;tzlichen Filterkriterium entsprechen.<\/p>\n<p>Die Routine FilterAktualisieren kann nun nach Eingabe eines Textes und\/oder durch einen Mausklick auf die Schaltfl&auml;che Filtern ausgef&uuml;hrt werden.<\/p>\n<p>Erg&auml;nzen Sie dazu das Ereignis Nach Aktualisierung des Steuerelements txtFilter sowie das Ereignis Beim Klicken des Steuerelements cmdFilter um dem VBA-Code aus Quellcode 3.<\/p>\n<p>Den passenden Prozedurrumpf erzeugen Sie, indem Sie f&uuml;r die entsprechende Ereigniseigenschaft den Wert [Ereignisprozedur] ausw&auml;hlen und anschlie&szlig;end auf die Schaltfl&auml;che mit den drei Punkten klicken (siehe Bild 5).<\/p>\n<h3>Detailansicht per Doppelklick<\/h3>\n<p>Das in der Oberfl&auml;che des Formulars angelegte Feld Hilfetext kann in Abh&auml;ngigkeit der hinterlegten Textmenge bei der Eingabe und beim Lesen zu klein sein.<\/p>\n<p>Access bietet eine eingebaute Komfortfunktion, mit der Sie f&uuml;r jedes beliebige Textfeld ein separates Zoom-Fenster &ouml;ffnen k&ouml;nnen (siehe Bild 6).<\/p>\n<p>Sie &ouml;ffnen das Fenster mit der Tastenkombination Umschalt + F2.<\/p>\n<p><IMG height=\"159\" src=\"..\/fileadmin\/_temp_\/{754DF83E-85E0-42FB-AAB5-071A7424411A}\/pic005.png\" width=\"329\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Ereignis f&uuml;r ein Steuerelement einstellen<\/span><\/b><\/p>\n<p><b>Quellcode 3: Die Routine FilterAktualisiseren wird beim Aktualisieren des Textfeldes txtFilter und beim Klick auf die Schaltfl&auml;che cmdFilter ausgel&ouml;st.<\/b><\/p>\n<pre>Private Sub txtFilter_AfterUpdate()\r\n    Call FilterAktualisieren\r\nEnd Sub\r\nPrivate Sub cmdFilter_Click()\r\n    Call FilterAktualisieren\r\nEnd Sub<\/pre>\n<p><b>Quellcode 4: Aufrufen des Zoom-Fensters per Doppelklick<\/b><\/p>\n<pre>Private Sub Hilfetext_DblClick(Cancel As _    Integer)\r\n    SendKeys \"+{F2}\"\r\n    DoEvents\r\nEnd Sub<\/pre>\n<p><b>Quellcode 5: Unterbinden des &ouml;ffnens ohne &uuml;bergabe eines Formularnamens<\/b><\/p>\n<pre>Private Sub Form_Open(Cancel As Integer)\r\n    ''Ohne &ouml;ffnungsargument\r\n    ''soll das Formular nicht ge&ouml;ffnet werden\r\n    If IsNull(Me.OpenArgs) Then\r\n        MsgBox \"Das Hilfesystem wurde ohne \" _            \"&ouml;ffnungsargument ge&ouml;ffnet!\", _            vbCritical + vbOKOnly, _            \"Fehler beim &ouml;ffnen\"\r\n        Cancel = True\r\n    End If\r\nEnd Sub<\/pre>\n<p><IMG height=\"536\" src=\"..\/fileadmin\/_temp_\/{754DF83E-85E0-42FB-AAB5-071A7424411A}\/pic006.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p>Der Abbruch ist notwendig, da zur Anzeige der relevanten Datens&auml;tze zwingend ein Formularname ben&ouml;tigt wird!<\/p>\n<p><IMG height=\"195\" src=\"..\/fileadmin\/_temp_\/{754DF83E-85E0-42FB-AAB5-071A7424411A}\/pic007.png\" width=\"323\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Das Zoom-Fenster im Hilfeformular<\/span><\/b><\/p>\n<p>Da die Hilfe aus vorhandenen Formularen heraus verwendet werden soll, muss der Anwender eine einfache M&ouml;glichkeit zum &ouml;ffnen der Hilfe erhalten. In diesem Beispiel werden wir ein vorhandenes Formular mit einer Befehlsschaltfl&auml;che nachr&uuml;sten und den Aufruf des Hilfesystems an das Beim Klicken-Ereignis der Schaltfl&auml;che binden.<\/p>\n<p><IMG height=\"309\" src=\"..\/fileadmin\/_temp_\/{754DF83E-85E0-42FB-AAB5-071A7424411A}\/pic008.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Start der Hilfe aus einem vorhandenen Formular<\/span><\/b><\/p>\n<p>Beachten Sie, dass in dem Formular keine weiteren &auml;nderungen notwendig sind.<\/p>\n<p>Das Ereignis Beim Klicken ruft nun direkt die zentrale Funktion HilfeAnzeigen im Modul basHilfesystem auf.<\/p>\n<p>In der Funktion HilfeAnzeigen wird das aktive Formular automatisch ermittelt und der weiter oben in Bild 1 definierte Workflow nimmt seinen Lauf.<\/p>\n<p>Sobald Sie das erste Formular mit dieser Schaltfl&auml;che nachger&uuml;stet haben, k&ouml;nnen Sie die Schaltfl&auml;che &uuml;ber die Zwischenablage in jedes beliebige weitere Formular einf&uuml;gen.<\/p>\n<p>Der Wert der Ereigniseigenschaft Beim Klicken wird dabei automatisch mit kopiert.<\/p>\n<p>Um einen weiteren Vorteil des datenbasierten Hilfe- und Dokumentationssystems aufzuzeigen, erstellen Sie zum Abschluss noch einen kleinen Bericht.<\/p>\n<p>Die Entwurfsansicht des fertigen Berichts sieht dann etwa wie in Bild 8 aus. Bild 9 zeigt das m&ouml;gliche Aussehen des Berichts in der Vorschauansicht.<\/p>\n<p>Wahrscheinlich sind Ihnen beim Lesen des Artikels auch schon diverse Erweiterungsm&ouml;glichkeiten des Systems eingefallen.<\/p>\n<p>Nachfolgend finden Sie einige Vorschl&auml;ge:<\/p>\n<p><IMG height=\"722\" src=\"..\/fileadmin\/_temp_\/{754DF83E-85E0-42FB-AAB5-071A7424411A}\/pic009.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Entwurf des Hilfeberichts<\/span><\/b><\/p>\n<p><IMG height=\"0\" src=\"..\/fileadmin\/_temp_\/{754DF83E-85E0-42FB-AAB5-071A7424411A}\/pic010.png\" width=\"0\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9:  Der fertige Hilfebericht<\/span><\/b><\/p>\n<p>Sie werden bestimmt noch weitere Ideen entwickeln und somit diese einfache, aber auch flexible Basis im Sinne der Wikipedia weiterf&uuml;hren k&ouml;nnen.<\/p>\n<p>Viel Erfolg damit!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Haben Sie wieder einmal eine Anwendung auf Basis von Access fertig gestellt und verzweifeln nun an der Dokumentation sowie dem beauftragten Hilfesystem Dieser Beitrag zeigt einen Ansatz, mit dem Sie die Hilfe und die Dokumentation einfach in Ihre Anwendung integrieren k&ouml;nnen. Und das Sch&ouml;nste f&uuml;r den Entwickler ist: Die Anwender k&ouml;nnen einen nicht unerheblichen Beitrag zu diesem Thema leisten.<\/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":[662005,66052005,44000028,44000027],"tags":[],"class_list":["post-55000305","post","type-post","status-publish","format-standard","hentry","category-662005","category-66052005","category-Ergonomie_und_Benutzeroberflaeche","category-Loesungen"],"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>Dynamisches Hilfe- und Dokumentationssystem - 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\/Dynamisches_Hilfe_und_Dokumentationssystem\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dynamisches Hilfe- und Dokumentationssystem\" \/>\n<meta property=\"og:description\" content=\"Haben Sie wieder einmal eine Anwendung auf Basis von Access fertig gestellt und verzweifeln nun an der Dokumentation sowie dem beauftragten Hilfesystem Dieser Beitrag zeigt einen Ansatz, mit dem Sie die Hilfe und die Dokumentation einfach in Ihre Anwendung integrieren k&ouml;nnen. Und das Sch&ouml;nste f&uuml;r den Entwickler ist: Die Anwender k&ouml;nnen einen nicht unerheblichen Beitrag zu diesem Thema leisten.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T15:18:08+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/529222a3c6f049609f7a32c44da4c3e7\" \/>\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\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Dynamisches Hilfe- und Dokumentationssystem\",\"datePublished\":\"2020-05-06T15:18:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/\"},\"wordCount\":1709,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/529222a3c6f049609f7a32c44da4c3e7\",\"articleSection\":[\"2005\",\"5\\\/2005\",\"Ergonomie und Benutzeroberfl\u00e4che\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/\",\"name\":\"Dynamisches Hilfe- und Dokumentationssystem - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/529222a3c6f049609f7a32c44da4c3e7\",\"datePublished\":\"2020-05-06T15:18:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/529222a3c6f049609f7a32c44da4c3e7\",\"contentUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/529222a3c6f049609f7a32c44da4c3e7\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Dynamisches_Hilfe_und_Dokumentationssystem\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dynamisches Hilfe- und Dokumentationssystem\"}]},{\"@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":"Dynamisches Hilfe- und Dokumentationssystem - 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\/Dynamisches_Hilfe_und_Dokumentationssystem\/","og_locale":"de_DE","og_type":"article","og_title":"Dynamisches Hilfe- und Dokumentationssystem","og_description":"Haben Sie wieder einmal eine Anwendung auf Basis von Access fertig gestellt und verzweifeln nun an der Dokumentation sowie dem beauftragten Hilfesystem Dieser Beitrag zeigt einen Ansatz, mit dem Sie die Hilfe und die Dokumentation einfach in Ihre Anwendung integrieren k&ouml;nnen. Und das Sch&ouml;nste f&uuml;r den Entwickler ist: Die Anwender k&ouml;nnen einen nicht unerheblichen Beitrag zu diesem Thema leisten.","og_url":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-06T15:18:08+00:00","og_image":[{"url":"http:\/\/vg07.met.vgwort.de\/na\/529222a3c6f049609f7a32c44da4c3e7","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\/Dynamisches_Hilfe_und_Dokumentationssystem\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Dynamisches Hilfe- und Dokumentationssystem","datePublished":"2020-05-06T15:18:08+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/"},"wordCount":1709,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/529222a3c6f049609f7a32c44da4c3e7","articleSection":["2005","5\/2005","Ergonomie und Benutzeroberfl\u00e4che","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/","url":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/","name":"Dynamisches Hilfe- und Dokumentationssystem - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/529222a3c6f049609f7a32c44da4c3e7","datePublished":"2020-05-06T15:18:08+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/#primaryimage","url":"http:\/\/vg07.met.vgwort.de\/na\/529222a3c6f049609f7a32c44da4c3e7","contentUrl":"http:\/\/vg07.met.vgwort.de\/na\/529222a3c6f049609f7a32c44da4c3e7"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Dynamisches_Hilfe_und_Dokumentationssystem\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Dynamisches Hilfe- und Dokumentationssystem"}]},{"@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\/55000305","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=55000305"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000305\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}