How to Print Multiple Copies of the Same LabelLast reviewed: April 29, 1996Article ID: Q106030 |
The information in this article applies to:
SUMMARYYou can print multiple copies of the same label programmatically, as explained below.
MORE INFORMATIONThere are two methods you can use to print multiple copies of the same label. The choice of which method to use depends on how the labels should be ordered.
Method 1: Issuing the LABEL FORM Command Multiple TimesThe simplest way to print multiple copies of a label is to issue the LABEL FORM command multiple times in sequence. The disadvantage of this method is that the copies of each label can be scattered over many pages in the printed labels.
Method 2: Creating a Temporary Cursor to Contain the Label InformationThe second method requires building a temporary database, or an SQL cursor, that contains multiple copies of the label information. The program below demonstrates one method of building the temporary database. A Cartesian join is used to create the output cursor. When two databases are used in an SQL SELECT command, and one database contains blank key fields, each blank record is joined with every record in the other database. This process is referred to as a Cartesian join. If database 1 contains 5 blank records, and database 2 contains 10 valid records, the resulting output cursor would contain 50 records--each of the 10 valid records joined with each of the 5 blank records. Normally, this would be undesirable behavior and blank key fields would be eliminated prior to the join, but this feature can be used to handle the multiple label problem easily. The disadvantage of this method is that the cursor can be quite large, leading to memory and disk space problems.
CLEAR * Create a memory variable to hold the desired number of copies * and prompt for input. numcopies=1 @ 2,10 SAY "How many copies? " ; GET numcopies READ * Create a cursor with one field that will remain blank. CREATE CURSOR mycopies ; (cno C(5)) * Create one record in the cursor for each label copy desired. FOR i = 1 TO numcopies INSERT INTO mycopies (cno) VALUES (" ") ENDFOR * Perform an SQL join on the cursor and the live database. * A WHERE clause can be used to limit the records selected. SELECT customer.company, ; customer.address, customer.city, ; customer.state, customer.zip, mycopies.cno ; FROM customer, mycopies ; INTO cursor lablinfo * Print the existing label form. SELECT lablinfo LABEL FORM mylabel TO PRINT * Clean up afterwards. SELECT lablinfo USE SELECT mycopies USE |
Additional reference words: VFoxWin 3.00 FoxDos FoxWin FoxMac 2.00 2.50
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |