• Status: Solved
• Priority: Medium
• Security: Public
• Views: 1212

# Need to tell Crystal Reports XI how many labels to print and have it print No. x of y on each label

We want to print a ship mark label using crystal XI (because it's embedded in our ERP and prints our other labels).  The ship mark label is static - it pulls nothing from the database.  Likewise, the number of labels to print is not dependent on anything in the database but rather the shipping conditions such as destination, customer request...

When the report is printed it needs to prompt the user for the number of labels to print.  The labels must number themselves.  For example, if we are printing 50, the labels must print 1 of 50 on the first label, 2 of 50 on the second and so forth.  How can we do this?

(We are printing 2 labels per page, 8.5"X5.5")

Thanks

0
tekconsulting
1 Solution

Commented:
Hi tekconsulting,

There are some label samples here:

This includes an example which numbers labels as 1/6 2/6 etc

Pete
0

Professor of MIS at Penn State Erie and Owner, Millet SoftwareCommented:
You can use a parameter in combination with the approach I outlined in: http://www.tek-tips.com/faqs.cfm?fid=3226

How do Duplicate Records based on a Quantity Field?
faq149-3226
Posted: 24 Feb 03 (Edited 19 Apr 05)

Problem:
A typical situation is where a number of label copies  must be printed for each order according to the {quantity} field in each order record.

Solution:
Create a REPEATER table with a single column (How_Many) that looks like this:

How_Many
1
2
3
4
5
6
etc.

condition of:
CODE
Order.quantity >= Repeater.How_Many

If the &quot;>=&quot; join option is not available, remove the join to the REPEATER table and create this condition in the Record Selection condition:
CODE
{Order.quantity} >= {Repeater.How_Many}

If you are restricted to using an equal join, you can also modify the repeater table to include N records for each quantity N:
1
2
2
3
3
3
...

This would cause each order to be duplicated as many times as the value of {Order.quantity}.

Cheers,
- Ido
0

Author Commented:
Thanks Pete,

The Creating Duplicate Labels sample seems to have everything we need but it uses a group to set up the parameter and generate the required number of labels.  Since our label isn't tied to the database, is there a way to specify the number to print without using a group.  Or is there a way to make a group that does not need to interact with the database.

Thanks again

0

Author Commented:
As mentioned in my original question, the label quantity is not determined by anything in the database nor is it consistent enough to develop a rule.  It must allow the user to enter the number to print and then print two labels per sheet with the x of y printed at the bottom of each label.  Using information from the sample in Pete's answer I am able to generate a label that meets the requirements but only prints one label.  That is, if I prompt it to print 10 labels, it prints one label with 1 of 10 at the bottom.  This is probably because the number formula is based on the group accessing the database.

This is something that would be easy to do in Word if I weren't trying to keep everything inside the ERP.  Is there no way in Crystal for the user to instruct a label report how many labels to print?  Keep in mind they are independent of the database.

Thanks,
0

Commented:
If all of the label information is in the report (and not coming from an outside source), couldn't you still add some kind of table or other file as a datasource?  It could be a simple text or excel file, although those can present certain limitations (eg. only one process allowed to acces the file at any given time).  Then you would have the label in the detail section and it would be printed once for each record that was read.  If your table/file contained a line number in each row, you could compare that with your label count parameter in the record selection.  Otherwise, you could compare the parameter with CR's RecordNumber function in a detail section suppression formula.  Not as efficient, but it works.

James
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.