HTML Help in Access integrieren

Um in Access eine selbst erstellte HTML Help Datei kontextsensitiv über F1 zu benutzen und so anzeigen zu lassen wie sie ursprünglich erstellt wurde, sind einige Umwege notwendig, da Access die kontextbezogenen Themenseiten im Access spezifischen Hilfefenster anzeigt.

Wenn jedoch in einem Formular per F1, die für das jeweilige Steuerelement festgelegte Hilfeseite in der original erstellten Hilfe angezeigt werden soll, kann wie folgt vorgegangen werden:

Im Access VBA Editor ein Modul erstellen und folgenden Quelltext hineinkopieren:

Option Compare Database

Public Function hilfe_anzeigen()

Dim strDB As String
Dim strCHM As String
Dim ctlCurrentControl As Control
Dim strControlName As String

strDB = Application.CurrentProject.Path
strCHM = strDB & "\name.chm"

Set ctlCurrentControl = Screen.ActiveControl
strControlName = ctlCurrentControl.HelpContextId

If strControlName = "0" Then
Shell "hh " & strCHM, vbNormalFocus
End If

Shell "hh -mapid " & strControlName & " " & strchm, vbNormalFocus

'© Thomas Schulz http://www.help-guide.de

End Function


Für name.chm muss natürlich der Namen der Hilfedatei eingetragen werden.

Sofern der Name der Hilfedatei in den Eigenschaften des Formulars eingetragen ist kann man

strDB = Application.CurrentProject.Path
strCHM = strDB & "\name.chm"
durch
strCHM = strPfad & Screen.ActiveControl.Parent.HelpFile
ersetzen. (Vielen Dank für diesen Hinweis an Thomas von http://www.team-moeller.de/)

Im Entwurfsmodus des jeweiligen Formulars, muss in den Formulareigenschaften der Name der Hilfedatei entfernt werden.
Bei den Eigenschaften des Formulars und der Steuerelemente muss jedoch jeweils die Hilfekontext-Id vergeben sein. Erläuterungen zur Erstellung von Hilfekontext-Id's (HelpContextId)

Jetzt muss noch die F1 Taste abgefangen, bzw. ihr eine neue Funktion zugewiesen werden.

Hierzu ein neues Makro mit dem Namen AutoKeys erstellen.
Oben in der Menüleiste auf Makronamen klicken und dann unter Makroname {F1} eingeben.
Unter Aktion "AusführenCode" auswählen.
Unter Funktionsname hilfe_anzeigen() eintragen.

Jetzt ist der kontextsensitive Aufruf der Themenseiten in der Originalhilfe möglich.

In Access 97 (oder früher) muss das Makro "Tastaturbelegung" heißen. (Vielen Dank für diesen Hinweis an Thomas von http://www.team-moeller.de/)