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.

Horizontal Portals: Part II

Featured Replies

Hi,

I need some help understanding horizontal portals.

I downloaded the sample file that was so graciously provided by

HOnza from 24U Software Company:

**************************************

http://fmforums.com/forum/showtopic.php?tid/170001/

**************************************

The problem I am having is I am not experienced enough to understand how to make it work.

HOnza said that it employed the new function GetNthRecord and involved creating a single repeating calculation field for every field that is supposed to appear in the portal.

I'm hoping that someone can look at his example and show me how to do this with just one field at a time. I'm sure if I can get my head around a bite size part of it, the rest will follow.

Jarvis

PS: HOnza, thank you very much for your generosity!

Edited by Guest

First it is not a portal, it is a number of repeating fields. In the example there are 30 repetitions.

Look at the Relations Graph, the TO AllValues is related to the TO Main by a Cartesian Cross Product this means all records in AllValues are related to all records in Main.

Lets look at the field horizontal_value. It is a calculated text field = GetNthRecord(Extend(AllValues::value); Get(CalculationRepetitionNumber) + Extend(horizontal_scroll))

The GetNthRecord function uses 2 parameters: fieldName & recordNumber. Since we are using repeating fields we need to use the Extend Function with non repeating fields. So for the fieldName we use Extend(AllValues::value). For the recordNumber we use Get(CalculationRepetitionNumber) + Extend(horizontal_scroll)). horizontal_scroll is a global number field. The value of horizontal_scroll is controled by the 2 buttons at the end of the simulated scroll bar and 2 buttons in the simulated scroll bar.

  • Author

Ralph,

Thank you for your explanation.

I'm still a little bit fuzzy on how this works but I will not labor you more questions until I have stared at it some more.

I was able to create a sample file utilizing the GETNTHRECORD function, and that was pretty cool.

I also experimented with using the cartesian cross, but I wasn't really sure of what I was doing. Up until now I have only known about the "=" sign in this graph set up. I see that LaRetta alluded to the cartesian thing in a post above here. There is no reference to Cartesian in the HELP section of FM8 so I'm still a little hazy here too.

I think I if I come to terms with the EXTEND function it will make your explanation more comprehensible.

Thanks again,

Jarvis

Look at Working with related tables and files > About the types of relationships > About relationships using comparative operators in the Help file. I don't think that it is called Cartesian Cross Product in any of FileMaker's documentation. Do a search on the internet and you will find more info about it.

Also look at Functions reference > Repeting functions > Extend function in the Help file.

Create an account or sign in to comment

Important Information

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

Account

Navigation

Search

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.