Brian Dunning's FileMaker Custom Functions

CustomList_BottomUp ( Start ; End ; Function )

customized lists - Reverse list - Not recursive

  Average rating: 4.3 (46 votes) Log in to vote

Agnes Barouh   Agnes Barouh - Show more from this author
Tic Tac
http://www.tictac.fr/CoinFileMaker/Page.html

Share on Facebook Share on Twitter

  Sample input:
CustomList_BottomUp ( 4 ; 3 ; "GetValue ( MyList ; [n] )" )

---------------

CustomList_BottomUp ( 85000; 25000; "[n] & "". "" & Get(CurrentDate ) + [n]")

---------------

CustomList_BottomUp ( 5; 2 ; "GetNthRecord ( FieldRecord ; [n])")
  Sample output:
returns "Reverse¶you" if MyList is
"With¶CustomList_BottomUp¶you¶reverse¶your¶list"

---------------

85000. 11/04/2241
84999. 10/04/2241
84998. 09/04/2241
84997. 08/04/2241[...]

---------------

FieldRecord5
FieldRecord4
FieldRecord3
FieldRecord2

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

-----------------------------------------***
Edit July-24 2008 :
v1.1 > Replace "Num" by "CLNum"
[please, do not used "CLNum" in your calculation with Let() ]
-----------------------------------------

it is not a recursive function
For data processing, customized lists, reverse lists.

-----------------------------------------

- Build a descending list [for an Ascending List, used CustomList ()] - http://www.briandunning.com/cf/868

- Build any list based on all Native or Custom Functions involving a 'Number' value as a parameter, such as :
Left(), Middle(), GetValue(), GetRepetitionNumber (), GetNthRecord(), GetLayoutObjectAttribute () ...
ex : - CustomList_BottomUp ( Get ( FoundCount ) ; 1 ; "GetNthRecord ( FirstName ; [n] )" )
will return James¶Henry¶Susan if your foundset has 3 records.

- Build any range based on Dates, Times, TimeStamps, and obviously Numbers
ex : CustomList_BottomUp ( 5 ; 1 ; "GetAsDate ( StartingDate ) + [n]" )
will return a range of 5 dates starting from the specified StartingDate

The 'Function' Parameter is nothing else than a litteral calculation expression.
Therefore, CustomList_BottomUp allows for any filtering or parsing process based on any condition you may need.
ex : CustomList_BottomUp ( 100 ; 10 ; "Let ( [ Value = GetValue ( MyList ; [n] ) ] ; Case ( PatternCount ( Value ; "X" ) ; Value ))" )
will parse any value containing a "X" in the 'MyList' chain, in between the 100th and the 10th values.

More : http://www.briandunning.com/cf/868

----------------------------------------- more examples

Let ([
Start = NumberStart ;
End = NumberEnd ;
Function = "[n] & "". "“ & GetNthRecord ( Table::Name ;[n] ) & "". "“ & GetNthRecord ( Table::LastName ; [n] )"
];
Case (
End ≥ Start ;
CustomList ( Start ; End ; Function ) ;
CustomList_BottomUp ( Start ; End ; Function )
)
)

 

Comments

Log in to post comments.

 

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 20 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth: