PS - I am not part of the company that made the free example solution or anything like that, just found it on the web and thought it would be handy.
This seems like overkill for a typical labels layout. There are other solutions where you simply enter the number of labels that have already been used and the script then creates that many blank records in a sorted found set so that the first record with data prints on the first unused label.
If you take look at how the scripts work in this demo, it moves data from one related record to another. you'd need to understand the script well enough to add more set field and set variable steps so that the data in all the fields are swapped instead of just one field.
Given the way relationships are used to support the grid layout, you might even be able to simply swap the records' key values in order to move the entire record from one grid location to another.
Well printing labels with several parts from various tables really. So where do I find something to read about scripting to tell it how many were printed already so it knows where to start printing? If I can do this more simply and natively then that would be fine.
Since the computer can't tell how many labels were already peeled off the page, you usually set up a global number field where you can enter the number of labels used before clicking a button to perform the script that sets up your labels layout for printing.
A loop in your labels set up script can create one new blank record for each used label in a loop that compares a counter variable against your global field's value. then sort your records in ascending order to put the blank records at the top of your first page before printing the labels.
A clean up script can then find and delete these blank records after printing.
Mmmmk, let me try to wrap my brain around that...