Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Sheet Label printing with multiple print layouts and Label skipping

Featured Replies

Hey all,

Once again I'm coming to the forums for some much needed help. I'm working on implementing a label skipping script for the 5 different print layouts our small business uses, but I'm having trouble adapting the two solutions I've found into my database. I think I've decided which one would be a better fit to our database design. To give you some background, I have almost a decade of experience in IT so I understand how things work generally but I'm as green as they come when it comes to developing in FileMaker. I was hoping someone could give me some direction for the "virtual list" concept and specifically the file that Ocean West graciously provided. If I understand how it works I'm pretty sure I can make it work.

So I see that the Virtual List is a separate related table and how the relationship is working, I'm just not understanding the concept behind it (ie. why its necessary). It almost looks sortof like a join table?? Is its purpose only for the script to use as sort of a "work area" for manipulating records into the desired outputs? Anyways, if anyone can help me with an explanation on what exactly the virtual list is doing, well that'd be about step 1 in the 10 steps to me perfecting my first complex script, but its the first step!!

By the way, once I figure out that question I'll definitely have more in regards to the script that I'll ask in this thread. Just in case there's any questions, I'm talking about this:

http://fmforums.com/forum/files/file/8-sheet-label-printing-virtual-list/

Thanks in advance for your help and thanks Ocean West for providing that script!!!

-Snow-i

since you are asking about a sample file, you would probably have better luck asking your question in the forum for the file at: http://fmforums.com/forum/topic/75398-samples-sheet-label-printing-virtual-list/

This is the first time I've seen this method, but...

So I see that the Virtual List is a separate related table and how the relationship is working, I'm just not understanding the concept behind it (ie. why its necessary). It almost looks sortof like a join table?? Is its purpose only for the script to use as sort of a "work area" for manipulating records into the desired outputs?

yes, it does look like the 'VirtualList' table is only used as a "work area" for the script. It looks like there must be a record with a unique/sequential ID field value for every label you want to print. It seems that the sample file has 5003 records in the 'Virtual List' table, which means it can print up to 5003 labels at a time (unless you add more records).

If you look at the VirtualList::contactID field, you will see that it references the value of the ID field and and $$theList global variable. This is also the field used in the relationship to the contacts table, where the actual records to be printed on the label exist; so you can see that this table is context sensitive (it's result will depend on the found set, and the $$theList global variable.

I don't know what else I could say to you to explain how this works. If you are still having trouble understanding, try opening a new window (Window > New Window), then go to the 'VirtualList' layout, and show all records. Then from the main window, enter some different values in the Custom Dialog when you click 'Print Labels', and see how the field values change (on the 'VirtualList' layout) as you do.

The virtual list technique provides a lot of flexibility for manipulating data without creating "real" data records. For instance lets say that you need to print your label set, but for one contact you need 10 labels. By merely repeating the contact ID 10 times in the $$list variable, you are able to accomplish this; but you did not have to create any new records.

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.