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

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

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:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 3/2007.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Integration einer HTML-Hilfe in eine Access-Anwendung

Techniken

HTML-Hilfe, Formular, VBA

Voraussetzungen

Access 2000 oder höher

Beispieldatei

Demo.Integration.Hilfe.mdb

Shortlink

465

Integration einer HTML-Hilfe

Thomas Möller, Weinstadt

Zu einer kompletten Anwendung gehört auch eine Onlinehilfe. Mittlerweile gibt es am Markt eine Vielzahl von Tools, die das Erstellen einer Hilfedatei stark vereinfachen. Was jetzt noch fehlt, ist die Integration der Hilfe in Ihre Anwendung. Dieser Beitrag zeigt, wo und wie der Benutzer von Access aus auf die Hilfe zugreifen kann, wie Sie dies realisieren und welche Stolperfallen wie etwa Sicherheitseinstellungen dabei auftauchen können.

Welches Hilfe-Format ist das richtige?

Mit Windows 95 wurde 1995 die Hilfe im Format WinHelp (*.hlp) ausgeliefert. Nachteilig an diesem Format ist die insgesamt unübersichtliche Navigation. Das Inhaltsverzeichnis wird in einem gesonderten Fenster dargestellt. Im Extremfall sind bis zu vier Fenster gleichzeitig geöffnet. Außerdem unterstützt Windows Vista dieses Format standardmäßig nicht mehr. Es wird zwar einen Viewer zum Herunterladen geben, Sie können aber nie sicher sein, dass dieser auch installiert ist. Das Standardhilfesystem für Windows ist seit 1997 die HTML-Hilfe (*.chm). Zur Erstellung fasst ein Compiler HTML-Dateien zu einer Hilfedatei zusammen und integriert ein Inhaltsverzeichnis und einen Index. Mit Visual Studio .NET wurde 2002 das teilweise XML-basierte Help 2.0-Format eingeführt. Es ist jedoch nicht geplant, Help 2.0 öffentlich freizugeben. Microsoft empfiehlt, weiterhin die HTML-Hilfe zu verwenden. Für eine aktuelle Onlinehilfe bietet sich also nur das HTML-Hilfe-Format an.

Technische Voraussetzungen

Um eine HTML-Hilfe einsetzen zu können, müssen folgende Voraussetzungen erfüllt sein:

  • MS Office 2000 oder höher
  • Internet Explorer 4.0 oder höher
  • Windows 98 oder Windows 2000 oder höher

Welche Tools gibt es?

Es gibt eine Vielzahl von Tools, die Sie bei der Erstellung einer HTML-Hilfe unterstützen. Es sind Freeware- und Shareware-Tools, aber auch kommerzielle Anwendungen zu finden. Einen Überblick finden Sie unter [1].

Fast alle Lösungen basieren auf dem HTML Help Workshop von Microsoft [2]. Eine Einführung in dieses Tool liefert der Beitrag Onlinehilfe mit dem HTML Help Workshop (86). Eine Schritt-für-Schritt-Anleitung, wie Sie mit dem HTML Help Workshop eine Hilfe erstellen, ist unter [3] zu finden.

Wer ein etwas komfortableres Tool sucht, ist etwa mit dem Vizacc HelpMaker gut bedient [4].

Hilfekontext-IDs

Damit die Hilfedatei nicht nur geöffnet wird, sondern auch gleich das passende Thema angezeigt werden kann, muss die Hilfedatei entsprechend vorbereitet werden. Sie müssen so genannte Hilfekontext-IDs definieren. Eine Hilfekontext-ID ist ein Zahlenwert, der eine bestimmte Seite in einer Hilfedatei repräsentiert.

Als Hilfekontext-ID können Sie jede beliebige Zahl vom Datentyp Long eintragen. Wie Sie solche Hilfekontext-IDs mit dem HTML Help Workshop definieren, erfahren Sie etwa im Beitrag Onlinehilfe mit Access (Shortlink 88). Mit anderen Tools ist dies weit weniger aufwändig, wie der Screenshot aus Abb. 1 vom HelpMaker zeigt.

KontextIDs.gif

Abb. 1: Die Bearbeitung der Hilfekontext-IDs mit dem Power-Editor des HelpMakers

Möglichkeiten der Integration

Microsoft beschreibt in [5] eine Vielzahl von Möglichkeiten, um eine Onlinehilfe in eine (Access-)Anwendung zu integrieren.

  • Hilfe an der Oberfläche: Formulare, Berichte und Steuerelemente können auf das Drücken der Taste F1 reagieren und die entsprechende kontextsensitive Hilfe anzeigen. Gleichzeitiges Drücken der Umschalttaste zeigt die Direkthilfe zu Formularen und Steuerelementen an. Auch Menüs können auf die Direkthilfe reagieren.
  • Hilfe im VBA-Code: Die MsgBox-Funktion und auch die InputBox-Funktion lassen sich durch optionale Parameter um eine Hilfeschaltfläche erweitern. Auf diesem Weg können Sie Ihren Anwendern durch zusätzliche Informationen in der Hilfe die richtige Antwort erleichtern. Auch die Raise-Methode des Err-Objekts liefert einen Parameter zur zusätzlichen Eingabe von Informationen zur Hilfe.
  • Hilfe im Objektkatalog: Im Objektkatalog besteht ebenfalls die Möglichkeit, eine individuelle Hilfe aufzurufen. Hilfe im Objektkatalog dürfte dann interessant sein, wenn Sie Code-Komponenten an Dritte weitergeben.
  • Kontextsensitive Hilfe: Die so genannte kontextsensitive Hilfe reagiert auf das Drücken der Taste F1 in Steuerelementen, Formularen und Berichten.

Implementierung

Wenn Sie Ihre Onlinehilfe erstellt und die entsprechenden Hilfekontext-IDs definiert haben, dann sind nur noch zwei Eingaben erforderlich. Wechseln Sie dazu in die Entwurfsansicht des jeweiligen Formulars oder Berichts und aktivieren Sie das Eigenschaftsfenster (F4). Füllen Sie auf der Registerseite Andere die Einträge für Hilfedatei und Hilfekontext-ID mit den entsprechenden Werten (s. Abb. 2). In einem Formular können Sie auch dafür sorgen, dass jedes Steuerelement seine eigene Hilfeseite öffnet. Dazu tragen Sie die jeweilige HilfekontextID in die Eigenschaft des jeweiligen Steuerelements ein.

EigenschaftenFormular.tif

Abb. 2: Informationen zur Hilfedatei festlegen

Hilfe startet im Access-Hilfe-Fenster

Wenn Sie jetzt Ihre Anwendung starten und auf die Taste F1 drücken, dann wird Ihre Hilfedatei geöffnet und die gewünschte Seite angezeigt. Wenn Sie aber genauer hinsehen, dann stellen Sie fest, dass Ihre Hilfe im Hilfe-Fenster von Access geöffnet wurde (s. Abb. 3).

HilfeInAccessHilfe.gif

Abb. 3: Hilfe wird im Fenster der Access-Hilfe angezeigt

Sie können wahrscheinlich damit leben, dass der Fenstertitel der Hilfe Microsoft Access-Hilfe lautet. Aber leider werden auch der Antwortassistent und der Index aus der Access-Hilfe verwendet. Dieses Verhalten wird von MS im KB-Artikel 275117 bestätigt. Wenn Sie wollen, dass Ihre Hilfe im eigenen Hilfefenster angezeigt wird, dann müssen Sie selbst tätig werden. Dazu müssen Sie die beiden folgenden Fragen klären:

  • Wie wollen Sie Ihre Hilfe aufrufen?
  • Wie wollen Sie auf das Drücken der Taste F1 reagieren?

Die Hilfe aufrufen

Grundsätzlich haben Sie zwei Möglichkeiten, um Ihre Hilfe aufzurufen – über die HTML-Help-API (s. Listing 1) oder über den Shell-Befehl (s. Listing 2). Der Aufruf der Hilfe über die HTML-Help-API hat den Nachteil, dass Access eventuell abstürzt, wenn man Access schließt und das Hilfe-Fenster noch geöffnet ist. Daher ist es empfehlenswert, den Code für den Aufruf in einem Klassenmodul unterzubringen, in dessen Terminate-Ereignis man eine Anweisung zum Schließen des Hilfefensters einbaut.

Listing 1: Hilfe anzeigen mit der HTML-Help-API

Private Declare Function HtmlHelp Lib "HHCtrl.ocx" Alias "HtmlHelpA" (ByVal hWndCaller As Long, _

     ByVal pszFile As String, ByVal uCommand As Long, dwData As Any) As Long

Public Sub HilfeAnzeigen(strHelpFile As String, lngID As Long)

     Dim hWnd As Long

     hWnd = HtmlHelp(Application.hWndAccessApp, strHelpFile, &HF, ByVal lngID)

End Sub

Listing 2: Hilfe anzeigen mit dem Shell-Befehl

Public Sub HilfeAnzeigen(strHelpFile As String, lngID As Long)

     Shell ("hh -mapid " & lngContextID & " " & strHelpFile), vbNormalFocus

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

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.