Labels from database / as many copies as the number given by one the fields

Hello! I use LibreOffice to generate labels. This time, I need to print as many labels as the number given by one the fields… any tips?


I see that the answer is marked as accepted but it seems to me however that it is possible to obtain the result without programming. The attached solution assumes that records have a unique identifier.

The principle is to insert variables and condition the goto next record according to the contents of a variable (named Increase in the example).


  • Insert a variable Before at the beginning of the label. Value: drag the id field.
  • Insert a variable Increase. Value: test*Increase+1
  • Insert the “normal” fields (Name in the example)
  • Insert the goto Next record. Condition: [Increase] EQ [NumLabel.Sheet1.Labels]
  • Insert a variable After at the end of the label. Value: drag the id field.
  • Insert a variable test. Value: Before==After

That’s it… Explanations:

  • Increase increases from 1 to each label
  • You only change the record when Increase is equal to the number in the field
  • The Before and After variables are no longer equal when you change the record. The test is then zero, which resets Increase (since we multiply by test)

HTH - Regards

Very cool. Thanks for sharing!

That’s amazing! It’s exactly what I needed and it works perfectly. Merci beaucoup Pierre-Yves


Can’t envision any method to easily accomplish this. Probably need to write a macro to do this.

In Base you would read the appropriate table, get the # of times to be printed & write the record x times to a temp table. Then use this created table as input for printing the labels. Lots of items to consider such as where this # of times is & how it is cleared. Of course all this requires time and knowledge in writing macros.

If this answers your question please tick the :heavy_check_mark: (upper left area of answer). It helps others to know there was an accepted answer.

Thank you very much