Any suggestions on a "Help Document Engine"

D

Dennis

Hi,

I'm running Access via Office XP Pro and Office 2007 on XP, Vista, and 7.

I'm getting pretty close to completing the first Access application I've
been working on and figured I need to address the Help documentationi issue.

I don't know much about how to create a Help file nor the terminology. So
my question is pretty broad and may be phrased incorectly.

Where would I start?
Any suggestions for a Help compiler?

Or is there another way to accomplish creating on-line user help for my
application?

Dennis
 
D

Dennis

Daniel,

What a GREAT link. Thank you very much!


I thought that added help text would be relatively simple. But I'm
beginning to get the idea this will not be that simple.

Oh well.

Any other suggestions for doing help? I just want to pop up a paragraph or
two for each question. I want to keep it simple.

Thanks,

Dennis
 
J

Jack Leach

I thought that added help text would be relatively simple. But I'm
beginning to get the idea this will not be that simple.

Agreed, unfortunately a full-blown help file is a major nightmare (I never
did get around to figuring it out...)
Any other suggestions for doing help? I just want to pop up a paragraph or
two for each question.

In one app I was able to do something similar, for the same reasons.

If you make a single form to be used as a help template, with a large
textbox that is disabled and formatted so noone notices it's a textbox, you
can fairly easily handle what you are looking for.

I kept a table with two columns, an ID and memo for the description. When
you open the help form, pass the ID as an open arg, and use that ID to
populate the textbox with the applicable content.

Not the best, but it works for basic cases.

hth


--
Jack Leach
www.tristatemachine.com

"I haven''t failed, I''ve found ten thousand ways that don''t work."
-Thomas Edison (1847-1931)
 
D

Dennis

Jack,

How did you capture the F1 function key (help key) for help or did you do
something else?

Dennis
 
J

Jack Leach

ahhhhh... F1! I used a button on all my forms to open the help page, but I
think if you go to the Form's KeyDown event, you can capture F1 (I'm not
exactly sure how to reference that particular key, but some testing should
give an answer).

Private Sub KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = <F1 code> Then
KeyCode = 0
DoCmd.OpenForm frmHelp etc etc
End If
End Sub

that might get you started anyway...

--
Jack Leach
www.tristatemachine.com

"I haven''t failed, I''ve found ten thousand ways that don''t work."
-Thomas Edison (1847-1931)
 
S

Stuart McCall

Dennis said:
Hi,

I'm running Access via Office XP Pro and Office 2007 on XP, Vista, and 7.

I'm getting pretty close to completing the first Access application I've
been working on and figured I need to address the Help documentationi
issue.

I don't know much about how to create a Help file nor the terminology. So
my question is pretty broad and may be phrased incorectly.

Where would I start?
Any suggestions for a Help compiler?

Or is there another way to accomplish creating on-line user help for my
application?

Dennis

If you're comfortable writing simple HTML, you could create a .htm file for
each topic, ie:

Question1.htm
Question2.htm

etc.

Then to display say Question2's help:

Application.FollowHyperlink strPathToHtmFiles & "\Question2.htm"

With HTML you can easily include some fancy formatting, also hyperlinks to
other help topics, either embedded in the text or in a list of 'Related
Topics'.
 
D

Dennis

Stuart,

I'm guessing that writing my help text in Word and save it as an htm file
would work?


Dennis
 
S

Stuart McCall

Dennis said:
Stuart,

I'm guessing that writing my help text in Word and save it as an htm file
would work?


Dennis

Absolutely. Word will let you format things quite nicely. The files it
generates are a bit long-winded, but from your description of what you have
planned, the size of the resulting files will be pretty much irrelevant.
They'll definitely load fast enough on the slowest of modern machines.

The best place to store the files is (IMO) with the backend data file, so
when you need to update them you only have one set of files to replace.
 
J

Jack Leach

Do you mean the AutoHotKeys program that lets you script keystrokes on a
system or application level? This would have to be installed and configured
on each computer the app is distributed to, correct?

I've never used that with Access before... is there any particular advantage
to this above using the KeyDown event?

--
Jack Leach
www.tristatemachine.com

"I haven''t failed, I''ve found ten thousand ways that don''t work."
-Thomas Edison (1847-1931)
 
D

Douglas J. Steele

No, I mean creating a macro named AutoKeys, adding a MacroName entry for the
F1 key and assigning an action to that macro.
http://office.microsoft.com/en-ca/access/HA102391111033.aspx?pid=CH100621381033
http://office.microsoft.com/en-ca/access/HP051866491033.aspx?pid=CH063664951033

The advantage is that you only need to do this in one place, and it's
effective everywhere in your application, as opposed to having to call code
in the KeyDown event of every form (plus remembering to set KeyPreview
property for each form so that the form's KeyDown event intercepts the
control's KeyDown event)
 
J

Jack Leach

Thanks Doug, I was never aware of this. A google search showed a bunch of
stuff for AutoHotKeys, which I thought was an odd way to go about it
(although I think it could be done using that, if not ideally).

Always nice to learn about functionality I had no idea existed :)

--
Jack Leach
www.tristatemachine.com

"I haven''t failed, I''ve found ten thousand ways that don''t work."
-Thomas Edison (1847-1931)
 
D

Dennis

Doug,

Very nice! I read the two links. I don't know much about macros, but I
have quite a few Access books so I guess it is back to the learning cliff and
bloody knuckles.

But let me ask this. When I press the F1 key and the AutoKey macro fires,
how would it know from which control item in which form the F1 key was
pressed?

Or another way to phrase this question, if I press the F1 in my Customer
Name field, how would the F1 key know to bring up the Customer Name help
page.

I figure I would have to pass something to the macro so it would know.

Dennis
 
J

Jack Leach

I'm just shooting in the dark here (AutoKeys macros are new to me as well),
but I would assume that if your macro calls a function (someting like
GetHelp()) that is the global help handler of your project, you could use
Screen.ActiveForm and Screen.ActiveControl to determine where the user
currently is.

I suppose this would require a table of forms/controls and corresponding
help indexes though... could be a pain to maintain.

--
Jack Leach
www.tristatemachine.com

"I haven''t failed, I''ve found ten thousand ways that don''t work."
-Thomas Edison (1847-1931)
 
D

Douglas J. Steele

ActiveControl would seem to be appropriate. ActiveForm might be misleading:
if the control is on a subform, ActiveForm will actually be the parent form.

Yes, if you wanted context-sensitive help, then you would need to have some
way of mapping the specific control to specific help topics.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top