Jump to content
The site is updated on a beta version. Maintenance tasks are running so search and index may not function at this time. ×

Script to Automatically change Tab Panel

This topic is 1948 days old. Please don't post here. Open a new topic instead.

Recommended Posts

  • Newbies

Hello all,

I'm totally new to Filemaker, so I hope you'll bear with me as I try to explain what I'm doing and where I need a little help! As best I can tell, nobody seems to have had a question similar enough to mine for me to apply their solution to my problem.


I am trying to script a behavior to automatically change the active Tab on a record, but with a slight twist. I currently have 4 tabs setup that are dynamically generated based on a user's  selection of checkboxes (e.g., if 2 boxes are checked then two of the tabs take that text for their labels and the remaining two tabs are hidden -- solely for the sake of aesthetic design)


The problem arises in that, on a record-to-record basis, some have 1 tab, and others have all 4. So if a user navigates from a record with 4 tabs to a record with only 1 (while the 4th tab was active) it makes that 4th tab active on a record where it should not be accessible! As mentioned, I have already worked out how to hide the extra tabs in formatting, and I have it scripted so users cannot click-interact with the tabs, but thus far I have not been able to close this loophole!


So I guess I need help writing a script to compare how many Tabs should be active against the highest position one that actually is, and then figuring out how to automatically open the right tab(s).


Thanks very much in advance for the assistance!

Link to post
Share on other sites
  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Could you provide a little more detail with some examples?  Meaning how would you determine which tab you want to show when navigating from record to record? 

Do you want them in order, meaning:

Always show the lowest number? For example:

Record 1 has tabs 1,3,4--show Tab 1

Record 2 has tabs 2,4--show Tab 2

Record 3 has tabs 3,4--show Tab


Once that's figured out, then a script attached to an OnRecordLoad may be one way to go.

Link to post
Share on other sites
  • Newbies

Thanks for the response,

I think my preference would be to show the next "highest" tab

As for examples: Assuming Record 1 has Tabs A, B, & C, if the user switches to Record 2 (with Tabs A & B while the front panel is Tab C then the script should take control to switch the front panel on Record 2 away from the "empty" Tab C panel now being displayed. As the next available tab in this case is Tab B that should become the front panel.


One clarification, I used these tabs as procedurally generated "Category" markers. So even though they may have different labels across different records, they still use the same sequential tabs. So there is never a scenario where a record has Tab 2 and 4 as you describe; in the internal logic the label may be "2" and "4", but functionally I'm only using tab 1 & 2, so there is never any "gap".


Hope that helps!

Link to post
Share on other sites

IMHO, it would be convenient to keep the index number of the currently selected tab in a global variable - see: http://www.filemaker.com/help/13/fmp/en/html/func_ref2.32.94.html#1053326


Then compare that number with the count of values in the checkbox field; if it's higher, switch to the last tab listed in the checkbox field.



This is assuming there isn't a better mechanism to achieve whatever your purpose is. I couldn't figure out what "procedurally generated "Category" markers" means, and I suspect a portal might be a much more suitable solution.

Link to post
Share on other sites

This topic is 1948 days old. Please don't post here. Open a new topic instead.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

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