Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 6/2002.

Online-Hilfe mit Access

André Minhorst, Duisburg

Datenbankanwendungen sollten in der Regel eine Benutzeroberfläche beinhalten, die dem Anwender ein intuitives und einfaches Arbeiten ermöglicht. Wenn die Datenbankanwendung nun auch noch mit relativ wenigen Funktionen auskommt, dann können Sie diese auch ohne größere Anleitung an die Anwender verteilen. Sobald aber mit Intuition nichts mehr zu erreichen ist, weil entweder die Komplexität der Anwendung zu groß wird oder die Funktionen einfach erklärungsbedürftig sind, sollten Sie dem Anwender zur Seite stehen und ihm den Umgang mit Ihrer Anwendung erleichtern.

Arten von Programm-Hilfen

Für die Unterstützung des Anwenders beim Umgang mit Ihrer Applikation gibt es eine Reihe von Möglichkeiten. In den folgenden Abschnitten lernen Sie vier unterschiedliche Wege kennen, von denen zwei später genauer beschrieben werden.

Hilfe in Bezeichnungsfeldern

Einfache Erklärungen, die z. B. für die Zusammenarbeit mit einem Assistenten erforderlich sind, können leicht in Form eines Bezeichnungsfeldes an Ort und Stelle untergebracht werden.

Hilfe per SteuerelementTip-Text

Umfangreiche Formulare mit vielen erklärungsbedürftigen Eingabefeldern können sicher nicht zu jedem der Eingabefelder ergänzende Texte enthalten. Falls die Erklärungen kurz sind - also die Länge einiger Sätze nicht überschreiten - und keine Abbildungen benötigt werden, können Sie die Eigenschaft SteuerelementTip-Text der Eingabeformulare verwenden.

Hilfe auf Papier

Obwohl das papierfreie Büro hier und dort propagiert wird, ist ein Handbuch für eine umfangreiche Dokumentation immer noch weit verbreitet. Formate wie PDF bieten dem Anwender die Möglichkeit, zwischen der Bildschirmvariante und dem bedruckten Papier zu wählen.

Das Medium Papier hat allerdings große Nachteile, wenn es um das schnelle Nachschlagen einer bestimmten Funktion oder Ähnliches geht. Bevor man in Handbüchern mit schlecht gepflegtem Index und Inhaltsverzeichnis fündig wird, hat man in der Regel schon auf Umwegen die Lösung für das Problem herausgefunden.

Die PDF-Variante bietet immerhin die Möglichkeit, über Inhaltsverzeichnis, Index und teilweise sogar Querverweise schnell zu den gewünschten Stellen zu springen. Auch hier gibt es allerdings keine Garantie für einen sorgfältig ausgearbeiteten Index.

Hilfe per SteuerelementTip-Text

Wenn Sie nur kurze Bemerkungen oder Anleitungen zur Erläuterung einer Funktion oder eines Steuerelements benötigen, können Sie die Eigenschaft SteuerelementTip-Text der unterschiedlichen Steuerelemente verwenden.

Hier können Sie den Text zur Erläuterung eingeben. Der eingegebene Text wird angezeigt, sobald sich der Mauszeiger über dem entsprechenden Steuerelement befindet.

Die Eigenschaft finden Sie, wenn Sie ein Formular in der Entwurfsansicht öffnen, das gewünschte Steuerelement aktivieren und im Eigenschaftsfenster das Registerblatt Andere aktivieren (s. Abb. 1).

Abb. 1: Festlegen der Eigenschaft SteuerelementTip-Text

Abb. 2: SteuerelementTip-Text in Aktion

Abb. 2 zeigt, wie der SteuerelementTip-Text in der Praxis aussieht. Ein SteuerelementTip-Text kann bis zu 255 Zeichen lang werden. Da die Darstellung einer solchen Zeichenkette in einer einzigen Zeile optisch nicht besonders ansprechend ist, können Sie hier auch Zeilenumbrüche unterbringen.

Komfortabel geht das, wenn Sie mit der rechten Maustaste das Kontextmenü des Textfeldes für die Eigenschaft SteuerelementTip-Text akti-vieren und dort den Eintrag Zoom auswählen.

Es erscheint ein Fenster, in dem Sie den gewünschten Text bequem eintippen können. Zeilenumbrüche geben Sie mit der Tastenkombination Strg + Eingabetaste ein.

Einbinden einer Online-Hilfe in
Access

Die Möglichkeiten zum Einbinden der Online-Hilfe hängen stark von der verwendeten Access-Version ab. Die hier verwendete Anwendung zur Erstellung der Online-Hilfe ist die aktuellste Software, die von Microsoft für diesen Zweck zur Verfügung gestellt wird.

Access 97 unterstützt Sie daher nur mäßig, während Sie mit Access 2000 und Access 2002 wesentlich mehr Freude daran haben werden.

Online-Hilfe mit
Access 97

Unter Access 97 ist die einfachste Möglichkeit der Einbindung der Aufruf per Schaltfläche. Damit können Sie allerdings nur die erstellte Online-Hilfe ohne Angabe einer bestimmten Seite öffnen.

Hinweis

Access 97 ist für die Verwendung von Hilfe-Dateien ausgelegt, die mit dem Vorgänger des HTML Help Workshop erstellt wurden. Zwar kann Access 97 auf Hilfe-Dateien zugreifen, die mit dem HTML Help Workshop erstellt wurden, allerdings ist der Aufwand vergleichsweise hoch und kann an dieser Stelle leider nicht beschrieben werden. (

Um die Online-Hilfe per Schaltfläche aufzurufen, gehen Sie folgendermaßen vor:

  • Öffnen Sie das gewünschte Formular in der Entwurfsansicht.
  • Legen Sie eine neue Schaltfläche namens cmdHilfe an und beschriften Sie diese beispielsweise mit ? Hilfe.
  • Hinterlegen Sie für die Ereigniseigenschaft Beim Klicken der Schaltfläche die nachfolgende Prozedur. (
  • Private Sub cmdHilfe_Click()

        Call Shell("hh.exe " _
            & Left(CurrentDb.Name, _
            Len(CurrentDb.Name) - _
            Len(Dir(CurrentDb.Name))) _
            & "Fahrtenbuch.chm", _
            vbMaximizedFocus)

    End Sub

    Die Prozedur verwendet die Shell-Funktion zur Ausführung eines Kommandozeilenbefehls - in diesem Fall den Aufruf der Anwendung hh.exe.

    Mit dieser Anwendung zeigen Sie die nachfolgend angegebene Hilfe-Datei an. Der Aufbau des Dateinamens geht davon aus, dass sich die Hilfe-Datei im gleichen Verzeichnis wie die Anwendung befindet. Falls Sie einen anderen Pfad wählen, müssen Sie den folgenden Ausdruck durch den gewählten Pfad ersetzen:

        Left(CurrentDb.Name, _
            Len(CurrentDb.Name) - _
            Len(Dir(CurrentDb.Name))

    Der letzte Parameter des Shell-Aufrufs gibt an, dass die Hilfe-Datei in einem maximierten Fenster angezeigt werden soll.

    Online-Hilfe mit neueren
    Access-Versionen

    Neuere Access-Versionen sind für die Anwendung von Hilfe-Dateien ausgelegt, die mit dem HTML Help Workshop erstellt wurden.

    Die Kombination beider Anwendungen bietet die Möglichkeit, die Online-Hilfe über die Taste F1 oder über die Direkthilfe der Anwendung aufzurufen. Dabei können Sie definieren, welche Seite die Online-Hilfe beim Öffnen der Hilfe-Datei anzeigen soll.

    Online-Hilfe in Formularen

    Die Funktion dient hauptsächlich dazu, Hilfe bei der Arbeit mit den Formularen einer Access-Anwendung anzubieten.

    Dabei können Sie für jedes Formular eine eigene Hilfe-Datei festlegen. In der Regel werden Sie allerdings eine einzige Hilfe-Datei für die komplette Datenbankanwendung verwenden.

    Außerdem können Sie sowohl für das Formular selbst als auch für jedes Steuerelement, das den Fokus erhalten kann, ein Hilfethema festlegen. Abb. 3 zeigt das Eigenschaftsfenster mit den entsprechenden Eigenschaften.

    Abb. 3: Eigenschaften zur Festlegung der Hilfe-Datei

    Das Eigenschaftsfenster der einzelnen Steuerelemente des Formulars enthält lediglich das Feld Hilfekontext-ID. Sie können für die Steuerelemente keine andere Hilfe-Datei festlegen als für das Formular selbst, aber auf eine andere ID verweisen.

    Vorbereiten der Hilfe-Datei

    Sie müssen noch einige Anpassungen in der Hilfe-Datei vornehmen, damit auch die gewünschten Seiten angezeigt werden. Wenn Sie das vernachlässigen, öffnen Sie mit der Taste F1 oder der Direkthilfe lediglich die Standardseite der Online-Hilfe.

    Abb. 4: Einfügen einer Map-Datei

    Zunächst benötigen Sie zwei Textdateien, die Sie mit jedem herkömmlichen Texteditor anlegen können. Die erste Textdatei nennen Sie map.h. Legen Sie für jeden gewünschten Kontext je eine Zeile nach dem folgenden Schema an:

    #define Konstante1 1000

    #define Konstante2 2000

    Statt Konstante1, Konstante2 usw. können Sie aus Gründen der Übersicht beispielsweise die Namen der HTML-Dateien ohne Dateiendung verwenden. 1000, 2000 usw. sind die Werte für die Eigenschaft Hilfekontext-ID.

    Mit dieser Datei stellen Sie also eine Verbindung zwischen den Kontext-IDs und bestimmten Konstanten her. Mit der nächsten Datei namens alias.h ordnen Sie jeder Konstanten eine HTML-Datei zu:

    Konstante1=hilfedatei1.htm;

    Konstante2=hilfedatei2.htm; 

    Anschließend teilen Sie der Online-Hilfe noch die Existenz dieser beiden Dateien mit. Gehen Sie dazu folgendermaßen vor:

  • Starten Sie den HTML Help Workshop und öffnen Sie die gewünschte .hhp-Datei.
  • Klicken Sie auf die Schaltfläche HTMLHelp API information.
  • Klicken Sie im nun erscheinenden Dialog auf die Schaltfläche Header file... und wählen Sie die Datei map.h aus (s. Abb. 4).
  • Verfahren Sie auf der Registerseite Alias genauso mit der Datei alias.h.
  • Schließen Sie den Dialog. (
  • Nachdem Sie die benötigten Dateien erstellt und eingebunden haben, müssen Sie die Online-Hilfe nur erneut kompilieren. Damit sind Ihre Arbeiten an der Online-Hilfe erledigt.

    Wenn Sie nun noch die Eigenschaften Hilfedatei und Hilfekontext-ID auf die gewünschte Datei und die entsprechenden in den beiden Dateien map.h und alias.h angegebenen KontextIDs eingestellt haben, steht der Online-Hilfe nichts mehr im Weg.

    Wenn Sie das Formular in der Formularansicht öffnen und die Taste F1 betätigen, erscheint die Online-Hilfe mit dem gewünschten Thema. Das Gleiche passiert, wenn der Fokus auf einem Steuerelement liegt, dem Sie eine Hilfekontext-ID zugeordnet haben. In dem Fall zeigt die Online-Hilfe die entsprechende Hilfe-Seite an.

    Verwenden der Direkthilfe

    Sicher kennen Sie die Fragezeichen-Symbole, die in der Titelleiste mancher Anwendung oder Fenster angezeigt werden. Ein Mausklick auf dieses Symbol verwandelt den Mauszeiger in einen Zeiger mit Fragezeichen.

    Abb. 5: Die Direkthilfe in Aktion

    Abb. 6: Die Online-Hilfe im unerwarteten Gewand

    Damit können Sie auf Steuerelemente oder Bereiche klicken, für die Sie den Hilfetext lesen möchten.

    Um dieses Symbol zu aktivieren, gehen Sie folgendermaßen vor:

  • Wechseln Sie in die Entwurfsansicht des gewünschten Formulars.
  • Setzen Sie die Eigenschaft MinMaxSchaltflächen auf Keine und die Eigenschaft Schaltfläche Direkthilfe auf den Wert Ja. (
  • Anschließend finden Sie die gewünschte Schaltfläche vor. Wenn Sie diese betätigen und dann auf den gewünschten Bereich oder das Steuerelement klicken (s. Abb. 5 ), erscheint die entsprechende Hilfe.

    Da Sie mit der Access-Variante der Online-Hilfe auf mühsam erstellte Funktionen wie den Index und die Lesezeichenverwaltung verzichten müssen, finden Sie in den folgenden Absätzen eine Zusammenfassung des entsprechenden Beitrags in der Knowledge Base von Microsoft (Artikelnummer Q271390).

    Diese Variante öffnet die Hilfe im gewünschten Layout bei Betätigen der Taste F1.

    Fügen Sie die Deklarationen und Funktionen aus Quellcode 1 in ein neues Modul ein:

    Der Vorgang zur Anzeige der Online-Hilfe beginnt mit dem Aufruf der Funktion HelpEntry. Die Funktion erstellt zunächst einen Verweis auf das Formular, von dem die Hilfe aufgerufen wurde. Abhängig davon, ob dem Formular eine Hilfedatei zugeordnet ist oder nicht, verwendet die Funktion im weiteren Verlauf entweder die für die Eigenschaft Hilfedatei angegebene Datei oder die zuvor mit der Variablen FormHelpFile festgelegte Datei. Geben Sie also für den Platzhalter <Hilfedatei> den Namen der Hilfedatei an, die Access anzeigen soll, falls für das aufrufende Objekt keine Hilfedatei angegeben ist.

    Abhängig davon, ob für das aktuelle Steuerelement eine Hilfekontext-ID festgelegt ist, ruft die Funktion die nächste Funktion Show_Help mit den entsprechenden Parametern für die Hilfedatei und die Hilfekontext-ID auf.

    Option Compare Database

    Option Explicit

    Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hwndCaller As _
        Long, ByVal pszFile As String, ByVal uCommand As Long, ByVal dwData As Long) _
        As Long

    Const HH_DISPLAY_TOPIC = &H0

    Const HH_SET_WIN_TYPE = &H4

    Const HH_GET_WIN_TYPE = &H5

    Const HH_GET_WIN_HANDLE = &H6

    Const HH_DISPLAY_TEXT_POPUP = &HE

    Const HH_HELP_CONTEXT = &HF

    Const HH_TP_HELP_CONTEXTMENU = &H10

    Const HH_TP_HELP_WM_HELP = &H11

    Public Sub Show_Help(HelpFileName As String, MycontextID As Long)

        Dim hwndHelp As Long

        Select Case MycontextID

            Case Is = 0

                hwndHelp = HtmlHelp(Application.hWndAccessApp, HelpFileName, _

                           HH_DISPLAY_TOPIC, MycontextID)

            Case Else

                hwndHelp = HtmlHelp(Application.hWndAccessApp, HelpFileName, _

                           HH_HELP_CONTEXT, MycontextID)

        End Select

    End Sub

    Quellcode 1 (erster Teil)

    Die Funktion Show_Help wertet die Parameter aus und verwendet die API-Funktion HTMLHelp zum Aufrufen der gewünschten Hilfe-Datei.

    Anschließend legen Sie ein Makro namens Autokeys an. Mit diesem Makro können Sie benutzerdefinierte Tastenkombinationen zur Ausführung bestimmter Aktionen festlegen. Im vorliegenden Fall soll das Betätigen der Taste F1 überschrieben werden. Statt der üblicherweise angezeigten Access-Hilfe soll nun Ihre eigene Online-Hilfe angezeigt werden. Dazu muss beim Verwenden der Taste F1 die Funktion Help_Entry gestartet werden. Legen Sie das Makro folgendermaßen an:

  • Aktivieren Sie das Register Makros des Datenbankfensters und klicken Sie auf die Schaltfläche Neu.
  • Führen Sie den Menübefehl Ansicht/Makronamen aus.
  • Geben Sie im Feld Makronamen den Wert {F1} ein.
  • Public Function HelpEntry()

        Dim FormHelpId As Long

        Dim FormHelpFile As String

        Dim curForm As Form

        Set curForm = Screen.ActiveForm

        FormHelpFile = "<Hilfedatei>"

        FormHelpId = <Standardkontext>

        If curForm.HelpFile <> "" Then

            FormHelpFile = curForm.HelpFile

        End If

        If Not IsNull(curForm.ActiveControl.Properties("HelpcontextId")) Then

            If curForm.ActiveControl.Properties("HelpcontextId") > 0 Then

                FormHelpId = curForm.ActiveControl.Properties("HelpcontextId")

            End If

        End If

        Show_Help FormHelpFile, FormHelpId

    End Function

    Quellcode 1 (Fortsetzung)

  • Wählen Sie im Feld Aktion den Eintrag AusführenCode aus.
  • Fügen Sie der nun im unteren Bereich erscheinenden Eigenschaft Funktionsname den Wert HelpEntry() hinzu.
  • Speichern Sie das Makro unter dem Namen Autokeys. (
  • Nun erscheint bei einem Klick auf die Taste F1 die gewünschte Online-Hilfe mit dem entsprechenden Hilfethema.

    Leider bietet auch diese Lösung nicht die Möglichkeit, das eigene Hilfefenster mit der Schaltfläche zur Anzeige der Direkthilfe. Lassen Sie diese am besten von vornherein weg und weisen Sie den Anwender darauf hin, dass er die kontextabhängige Hilfe am einfachsten durch Betätigen der Taste F1 erhält.

    Zusammenfassung und Ausblick

    Microsoft Access bietet die Möglichkeit der Hilfestellung für unterschiedliche Ansprüche.

    Für die Erläuterung der Funktion einzelner Steuerelemente verwenden Sie am besten einfach den zu Beginn des Beitrags vorgestellten Steuer-elementTip-Text, der beim Überfahren des Steuerelements mit der Maus angezeigt wird.

    Für komplexere Erläuterungen, die sich auf die Funktionalität ganzer Formulare oder Steuerelementgruppen beziehen, erstellen Sie einfach eine HTML-Seite mit erläuterndem Text. Zusätzlich können Sie hier Abbildungen unterbringen, denn ein Bild sagt mehr als tausend Worte. Die Sammlung von HTML-Seiten zur Erläuterung der kompletten Anwendung stellen Sie dann mit dem HTML Help Workshop zu einer professionellen Online-Hilfe mit Inhaltsverzeichnis, Index und Volltextsuche zusammen.

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.