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
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.

Under construction. Email me your wish list for improvements.