Context sensitive help for an application

exaccess

Registered User.
Local time
Tomorrow, 00:13
Joined
Apr 21, 2013
Messages
287
Hi Experts,
I need to produce a context sensitive help system for an access vba application that I have written. The required user guide is written in word. When the user needs help on a certain control he should be bale to keep the mouse cursor on the control and press F1 and gets help. The help file should be in which format_ HTML, CHM, TXT, Word, PDF or what else? How should I go about doing this? Could anyone help please?
 
I'm assuming you need something more than the Control Tip Text will provide. I don't know of anything built into Access that's going to help you, so I suspect you have a lot of work ahead.

I think you can detect whether the user pressed F1 though one of the form's key events. When the user presses F1 you will want to get the mouse coordinates and maybe that can be done with an API. This seems to be discussed at http://www.tek-tips.com/viewthread.cfm?qid=629332 But then your program is going to have to determine which control so somehow you have to define regions on your forms for each control and I guess store them in a table.

Good luck. I hope some other member can come up with better suggestions than mine.
 
I want to amend my previous post. After a little thought I don't think you will need a table to specify the boundaries of the controls. In most cases I think you'll be able to use the controls Top, Left, Height and Width properties to determine if the mouse is over it. If there are any cases where this is insufficient, you could store the boundaries in the tag property.
 
Last edited:
google help compilers.

I used to use .hlp files
You could create topics in word (each page is a separate topic), and compile these to a help file.

MS gradually changed this, to .chm files, and probably other variants since.

You can spend as long developing help files, as you do on an app. They can be immensely complex.

there are hooks on forms and controls to the topic references in the help files This is how F1 help was set to work originally, although it may have changed.
 
The way I do this is trickier, but it works.

1. Create your word document to have topics with headers. Put text under the headers for the (implied) question you want to answer. (E.g. How do I export a report from Access to a .PDF file?).

2. Put a bookmark in the Word document for each heading. They can be text-oriented if you wish, e.g. "ExpAccPDF"

3. On your access form, using whatever triggering event you wish, call a subroutine to open the word document. This starts with

Code:
Set AppWd = CreateObject( "Word.Application" )
AppWd.visible = True
AppWd.Documents.Open filename="HelpFileName.DOCX"

The arguments for the Open should include ReadOnly = true to protect your file from random idiots who like to muck with system files. You can look up the other arguments for the word document operation online.

Once you have the help document open and have decided what bookmark string to use, you can .Activate the document you just opened, then use

Code:
AppWd.ActiveDocument.Bookmarks(strBookMarkName).Select
AppWd.ActiveDocument.Goto what:=wdGoToBookmark, Name:=strBookMarkName

After that, play with it a bit. Browse some of the things you can do with scrolling the document in the active window.

What am I leaving out? Well, for starters, it is up to you as to how you want to define the bookmarks you will use on the form. I place them in the TAG field for my controls, but other choices are perfectly reasonable as long as they are reliable.

Don't forget that your user will need to be able to close the document without saving it, so open it Read-Only as a starting point.
 
I'm assuming you need something more than the Control Tip Text will provide. I don't know of anything built into Access that's going to help you, so I suspect you have a lot of work ahead.

There has been a built in way to call you own custom help file since at least Access 2.0. That is why I built my first one.

Look at the property sheet for a form on the Other tab you will find a property named Help File. To specify where in the help file you set the Help Context ID property. Many of the control on a form also have a Help Context ID property.

To use the above method you do have to compile a Windows help file.

It is also possible to do something similar to The_Doc_Man's suggestion with word expect using html files and bookmark int he HTML file. It is easy to create the URL that includes the bookmark. The browser will automatically move to the bookmark with NO extra coding.

With Access 2010 and later you could build a help form that use the new Native Web Browser Control display your HTML help file.

With Access 2007 and later and the new built in Rich Text you can also build your own help system with Access and store the help file data in the application.

Personally I like using a web browser. This allows me to easily embed screencast videos and other cool Web UX stuff.
 
Hello Experts. Sorry I had to deal with urgent matters and the help file was pushed to background. Thanks to all who helped I will try one of the suggestions. If problems I will get back to here.
 
Hello Experts. Sorry I had to deal with urgent matters and the help file was pushed to background. Thanks to all who helped I will try one of the suggestions. If problems I will get back to here.

No problem. We are still here.

Thansk for the update.
 

Users who are viewing this thread

Back
Top Bottom