One example of "Calling Pages", would be a Report where each record ALWAYS produces three Pages of output. This could be a "form Report" where Page 1 has a patient's demographic information, Page 2 has medical information and Page 3 has insurance information. So, when going through the database, each patient's record would produce 3 Pages of output.
The way to accomplish this would be:
· | Complete all normal definitions for the Page 1. |
· | Complete all normal definitions for the Page 2. |
· | Complete all normal definitions for the Page 3. |
· | Set the GotoPage property of the first Page to point to the second Page. |
· | Set the GotoMode property of the first Page to gmCallEach setting. |
· | Set the GotoPage property of the second Page to point to the third Page. |
· | Set the GotoMode property of the second Page to gmGotoDone setting. |
· | Insure that the GotoPage property of the last Page definition is blank. |
The gmCallEach setting of the Page 1 GotoMode property will activate the GotoPage property after the first physical Page has printed. So, at the end of physical Page 1, Page 2 definition will be started. Because the Page 2 definition has a gmGotoDone setting, it will go to the Page 3 definition when it has finished the printing the second Page. The Page 3 definition will print that Page's definition and then return control to the Page 1 definition because it's GotoPage property is blank. You can join any number of Pages together in this manner. The key is that a gmCallEach setting will save off the calling Page so that whenever a blank GotoPage property in the Page chain is encountered, it will continue with that calling Page.
|