I hope no one minds me jumping in here, but I happen to be working on something similar right now, and I needed a little help myself.
I have a similar Wizard-like requirement in the form I'm working on. I set up a pageframe with tabs = .F. and each page represents a step in my process. The first page contains a grid where the user will choose an item to work on, this initiates their entry into the process of working the steps for the item chosen from the overview page. I provided two ways to navigate between pages, one by PgUp and PgDn. the code for the setpgdn method is below. the second method is by a sidebar containing labels corresponding to the steps. The labels change color to show you where you are, and when clicked, they take you to the relevant page.
thisform.pgFrmTaxCert.activepage = 1
WITH this.PgFrmTaxCert
Do Case
Case .ActivePage = 1
Otherwise
.ActivePage = .ActivePage - 1
Endcase
ENDWITH
I'm looking for a method of disabling pages later in the process until the prerequisites are met. I'm storing a status in the record chosen in the first step to monitor completion of each task, so they can come back and finish later. Right now, I haven't got a good method in mind.
This might be better implemented as a method call (ex.: Form.GotoPage(lnPageNumber) or something) where the prerequisites can be checked before activating the actual page.
Jim Newsom
IT Director, ICG Inc.