I have a form for which I do not want to give the user navigation privileges. I want the form to pop up at the record specified by a parameter with the “do form” command.
I understand that I can pass a param with “Do form col001 with 123456” and then handle the parameter 123456 in the init event of the form.
But when the form appears, it shows the top record of the file and not the one specified by the parameter.
How do I make this work?
I assume that the 123456 is the primary key or something that gives you a clue as to which record to display. For sake of example, let’s call the “calling form” the ParentForm and the “called form” the ChildForm.
It sounds like the ChildForm has a private datasession, and that the table from the ParentForm is being USE’d AGAIN in this private datasession. That is not necessarily a bad thing. If this is the case, you just need to use the passed parameter to LOCATE or SEEK the record you want in the Init().
Another approach would be to give the ChildForm a default datasession and remove the table from the dataenvironment of the child form. Since you are not creating a private datasession, the table/view will already be open, so there will be no need to move the record pointer.