Help System for Access Database (1 Viewer)

AngelSpeaks

Active member
Local time
Yesterday, 23:01
Joined
Oct 21, 2021
Messages
414
What do you use as a Help System for your databases? For VB and VB.NET, I used Microsoft HTML Workshop .chm files.

Can this be integrated with Access? Any other ideas?

Thanks

Cathy
 

Uncle Gizmo

Nifty Access Guy
Staff member
Local time
Today, 05:01
Joined
Jul 9, 2003
Messages
16,274
Seeing as Microsoft Access is based on tables, it makes sense to store your help information in tables.

I built my own system for providing help like this, and you can see it on my website here:-

 
Last edited:

Pat Hartman

Super Moderator
Staff member
Local time
Today, 00:01
Joined
Feb 19, 2002
Messages
43,233
I agree that using Access itself would be better. It requires no extra files to be distributed and updated.
 

LarryE

Active member
Local time
Yesterday, 21:01
Joined
Aug 18, 2021
Messages
581
Each form and control on a form has a Help File property. If you type in the full name of the .chm file (including the .chm extension) and press F1, the file should open. The .chm file needs to be in the same directory as your .accdb or .accde or .accdr file. Each form and control also has a Help Context ID property. You can specify the .chm file context ID and when you press F1, that specific Context ID will open.
 

AngelSpeaks

Active member
Local time
Yesterday, 23:01
Joined
Oct 21, 2021
Messages
414
Seeing as Microsoft Access is based on tables, it makes sense to store your help information in tables.

I built my own system for providing help like this, and you can see it on my website here:-

Looks Nifty allright!
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Yesterday, 23:01
Joined
Feb 28, 2001
Messages
27,148
For my biggest Navy DB, the version of Access I was using didn't support .CHM files (darn the bad luck...) so what I did was build a help file from Word, insert bookmarks, and then opened the help file in read-only mode to a bookmark. The forms had a HELP button that opened a help form that listed text descriptions (essentially a combo-box) for which the visible field was English and the hidden field was the bookmark. Then in my user's manual for the DB (and in the tutorial) I showed use of the help file including to close it once you had done the lookup. If I had been able to use the .CHM files, I would have. But... wasn't meant to be.
 

AngelSpeaks

Active member
Local time
Yesterday, 23:01
Joined
Oct 21, 2021
Messages
414
Each form and control on a form has a Help File property. If you type in the full name of the .chm file (including the .chm extension) and press F1, the file should open. The .chm file needs to be in the same directory as your .accdb or .accde or .accdr file. Each form and control also has a Help Context ID property. You can specify the .chm file context ID and when you press F1, that specific Context ID will open.
When I tried this Access help displayed and not the .chm. I probably need to add some vba code. Thanks
 

AngelSpeaks

Active member
Local time
Yesterday, 23:01
Joined
Oct 21, 2021
Messages
414
I agree that using Access itself would be better. It requires no extra files to be distributed and updated.
So, i create a table, the key could be the name of the form, etc or i could use the Help Id. Table will have a column for large text and add a control btn to the forms to initiate it?
 

Pat Hartman

Super Moderator
Staff member
Local time
Today, 00:01
Joined
Feb 19, 2002
Messages
43,233
Why don't you download Uncle Gizmo's mini-app. I don't know how he stores the tag for the lookup. But, he's worked it out and you only have to import four objects to make it work with your app. It will be cheap at any price. Just watch the demo to see it work. He's only asking $6.99 for it. There is no license required to distribute the code with your app so that's your total risk.
 

LarryE

Active member
Local time
Yesterday, 21:01
Joined
Aug 18, 2021
Messages
581
When I tried this Access help displayed and not the .chm. I probably need to add some vba code. Thanks
Oh sorry. Each form needs a Private Sub with the following in it:

Dim hwndHelp As Long
hwndHelp = HtmlHelp(hwnd, "NAMEOFHELPFILE.chm", HH_HELP_CONTEXT, 0)

I don't think the name of the Sub makes any difference. So, for example, if your help .chm file is named DBHelp.chm:

Each form has a sub:
Private Sub DBHelp_Click()
Dim hwndHelp As Long
hwndHelp = HtmlHelp(hwnd, "DBHelp.chm", HH_HELP_CONTEXT, 0)
Exit Sub
End Sub

You will also need a module with the following declarations and HtmlHelp Public Declare Function. PtrSafe allows the Public Declare Function to run under 64-bit ACCESS versions.
Option Compare Database
Public Const HH_DISPLAY_TOPIC = &H0
Public Const HH_SET_WIN_TYPE = &H4
Public Const HH_GET_WIN_TYPE = &H5
Public Const HH_GET_WIN_HANDLE = &H6
Public Const HH_DISPLAY_TEXT_POPUP = &HE
Public Const HH_HELP_CONTEXT = &HF
Public Const HH_TP_HELP_CONTEXT = &H10
Public Const HH_TP_HELP_CONTEXTMENU = &H10
Public Const HH_TP_HELP_WM_HELP = &H11
Public Const WM_CLOSE = &H10

Public Declare PtrSafe 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
 
Last edited:

AngelSpeaks

Active member
Local time
Yesterday, 23:01
Joined
Oct 21, 2021
Messages
414
Oh sorry. Each form needs a Private Sub with the following in it:

Dim hwndHelp As Long
hwndHelp = HtmlHelp(hwnd, "NAMEOFHELPFILE.chm", HH_HELP_CONTEXT, 0)

I don't think the name of the Sub makes any difference. So, for example, if your help .chm file is named DBHelp.chm:

Each form has a sub:
Private Sub DBHelp_Click()
Dim hwndHelp As Long
hwndHelp = HtmlHelp(hwnd, "DBHelp.chm", HH_HELP_CONTEXT, 0)
Exit Sub
End Sub

You will also need a module with the following declarations and HtmlHelp Public Declare Function. PtrSafe allows the Public Declare Function to run under 64-bit ACCESS versions.
Option Compare Database
Public Const HH_DISPLAY_TOPIC = &H0
Public Const HH_SET_WIN_TYPE = &H4
Public Const HH_GET_WIN_TYPE = &H5
Public Const HH_GET_WIN_HANDLE = &H6
Public Const HH_DISPLAY_TEXT_POPUP = &HE
Public Const HH_HELP_CONTEXT = &HF
Public Const HH_TP_HELP_CONTEXT = &H10
Public Const HH_TP_HELP_CONTEXTMENU = &H10
Public Const HH_TP_HELP_WM_HELP = &H11
Public Const WM_CLOSE = &H10

Public Declare PtrSafe 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
Thanks!
 

AngelSpeaks

Active member
Local time
Yesterday, 23:01
Joined
Oct 21, 2021
Messages
414
Why don't you download Uncle Gizmo's mini-app. I don't know how he stores the tag for the lookup. But, he's worked it out and you only have to import four objects to make it work with your app. It will be cheap at any price. Just watch the demo to see it work. He's only asking $6.99 for it. There is no license required to distribute the code with your app so that's your total risk.
I will. Thanks.
 

Users who are viewing this thread

Top Bottom