Dynamisches Hilfe- und Dokumentationssystem

Zusammenfassung

Sie erfahren, wie Sie eine Anwendung mit einem individuellen und durch den Benutzer erweiterbaren Hilfesystem ausstatten.

Techniken

Formulare, Berichte, VBA

Voraussetzungen

Access 97 oder höher

Beispieldateien

Hilfesystem97.mdb, Hilfesystem00.mdb

Dirk Bauer, Düsseldorf

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önnen. Und das Schönste für den Entwickler ist: Die Anwender können einen nicht unerheblichen Beitrag zu diesem Thema leisten.

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öglichkeiten der Applikation. Diese Dokumentation soll dann je nach Einsatzzweck entweder als Hilfesystem in die Anwendung integriert sein oder als druckbare Referenz übergeben werden. Wenn dann aber einige Formulierungen des Softwareentwicklers nicht exakt die internen Abläufe und Begriffe des Auftraggebers wiedergeben, wird das Thema schnell sehr komplex und aufwändig.

In der letzten Zeit erfährt die Internetseite Wikipedia (http://www.wikipedia.de) immer mehr Aufmerksamkeit.

Wikipedia ist eine freie Enzyklopädie in mehr als 100 Sprachen, zu der jeder mit seinem Wissen beitragen kann. Auf der Internetseite ist es jedem Anwender möglich, neue Texte zu erfassen, bereits vorhandene Texte zu überarbeiten und zu ergänzen sowie Fehler zu korrigieren.

Was bei tausenden von Anwendern klappt, kann nun auch in Ihrer Anwendung zu einem echten Highlight werden.

Die Grafik aus Bild 1 stellt eine übersicht des Lösungsansatzes dar.

Um die nachträgliche Implementierung dieses lernfähigen Hilfekonzeptes in eine bestehende Access-Anwendung so einfach wie möglich zu gestalten, werden alle wesentlichen Routinen und Elemente nur einmal zentral angelegt.

Bild 1: Das Konzept

Bild 2: Entwurf der Tabelle tblHilfesystem

Bild 3: Beispielansicht einer gefüllten Tabelle tblHilfesystem

Die Anwendung besteht aus den folgenden Elementen:

  • Tabelle tblHilfesystem
  • Formular frmHilfesystem
  • Bericht repHilfesystem
  • Modul basHilfesystem
  • Sobald diese zentralen Elemente in der Anwendung vorhanden sind, beschränkt sich der änderungsaufwand in den einzelnen Formularen auf das Einfügen einer einzigen Schaltfläche zum öffnen der Hilfe.

    Im Folgenden erfahren Sie, wie die genannten Elemente erstellt und miteinander verbunden werden.

    Die Tabelle tblHilfesystem dient zur Aufnahme der Formulare, der in den Formularen enthaltenen Steuerelemente sowie der Dokumentation der Elemente.

    Erstellen Sie in Ihrer Datenbank eine neue Tabelle tblHilfesystem mit den Feldern aus Bild 2. Die Textfelder erhalten jeweils die Feldgröße 100.

    Das Feld HilfeID wird als Primärschlüssel (PK) markiert.

    Das Feld Formularname wird später automatisch mit dem Formularnamen gefüllt, den Sie im Datenbankfenster für das jeweilige Formular verwendet haben.

    Das Feld SteuerelementName nimmt alle Namen der Steuerelemente auf, die vom Anwender zur Eingabe von Daten verwendet werden können.

    Das Feld Beschreibung wird von der Laderoutine beim erstmaligen öffnen eines Formulars zunächst mit einer Kopie des Wertes aus dem Feld SteuerelementName vorbelegt.

    Falls Sie etwa in einem Formular ein Feld txtVorname verwenden, können Sie die Bezeichnung in ein anwenderfreundliches Vorname ändern. Das Feld Bezeichnung wird dem Anwender später in der Benutzeroberfläche prä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üllte Tabelle tblHilfesystem.

    Quellcode 1: Code des Moduls basHilfesystem

    Public Function HilfeAnzeigen()
        ''nimmt eine Referenz auf das aktuell geöffnete Form auf
        Dim frm As Form
        Dim ctrl As Control    
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        '' Ermitteln des aktiven Formulars
        Set frm = Screen.ActiveForm    
        '' Ermitteln, ob für das aktuelle Form bereits Daten hinterlegt wurden
        Set db = CurrentDb
        Set rs = db.OpenRecordset("SELECT * FROM tblHilfesystem WHERE FormularName = ''" _        + frm.Name + "''")    
        If rs.RecordCount = 0 Then
            '' keine Daten vorhanden, also alle Controls des aktuellen Formulars einlesen
            For Each ctrl In frm.Controls        
                Select Case ctrl.ControlType
                    Case acTextBox, acCommandButton, acCheckBox, acComboBox, acListBox, _                    acOptionButton, acToggleButton, acOptionGroup                    rs.AddNew
                        '' Name des Formulars
                        rs!FormularName = frm.Name
                        '' Name des Steuerelementes (fix)
                        rs!SteuerelementName = ctrl.Name
                        '' Kopie des Wertes "Name des Steuerelementes",                     '' kann vom Anwender editiert werden
                        rs!Beschreibung = ctrl.Name
                        rs.Update
                End Select            
            Next    
        End If
        rs.Close
        db.Close    
        '' öffnen des Hilfeformulars mit dem Verweis auf das aktuelle Formular
        DoCmd.OpenForm FormName:="frmHilfesystem", OpenArgs:=frm.Name, _        WhereCondition:="FormularName=''" + frm.Name + "''"        
    End Function

    Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

    TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

    Schreibe einen Kommentar