Print — Repeat


The norepeat form is pretty simple:


In this example there are potentially multiple contacts for each customer. The SQL query will return the customer number and customer name for each contact, but we want those fields to print just once. And since the fields will not occur again once they print, we use norepeat:

  • customer number norepeat skip
    • norepeat — print whenever customer name changes.
    • skip — puts a blank line between customers
  • name norepeat size “30” label “Customer Name”
    • name  — customer name
    • norepeat — print when name changes..
    • size “30” — sets the column width.
    • label “Customer Name” — column heading.

and the result:


norepeat means exactly what it says. If the next record has the same value as the previous record, it doesn’t print. That doesn’t always work as you want:


  • customer name norepeat size “25” skip
    • norepeat — print when customer name changes.
    • size “25” — column width.
    • skip — print a blank line between customers.
  • shipment number
    • norepeat — print when shipment number changes
  • date
    • norepeat — print when date changes.

The customer name and shipment number are fairly unique. But the date is not:


The first shipment for Aaronson Furniture, number 310236, has the same date as the shipment above for A.L Price, 311151, so it doesn’t print. The same thing happens for the other customers.

We want the date to repeat for each new customer, so we use the second form, repeat on.

   Page 1 — repeat
   Page 2 — norepeat
   Page 3 — repeat on
   Page 4 — repeat on page

Next – repeat on >