DeleteValue ( VList ; VNo )
Removes a value from a value list
Average rating: 4.7 (12 votes) Log in to vote
Bill Thurmes - Show more from this author
MDCA http://www.miyotadca.com |
DeleteValue ( "3¶5¶7¶9" ; 6 )
"3¶5¶7¶9"
Function definition: (Copy & paste into FileMaker's Edit Custom Function window)
DeleteValue removes a value (including ¶) from a value list; complements PutValue. Resultant value list contains one fewer value than starting value list. Useful when sorting and combining value lists, especially pairs of value lists (see also ListPosition for choosing which value to combine, then delete).
Comments
comment, VR Sep 14, 2016 |
||
Couldn't this be simply: LeftValues ( listOfValues ; N - 1 ) & RightValues ( listOfValues ; ValueCount ( listOfValues ) - N ) |
||
Bill T, Longmont, CO Sep 15, 2016 |
||
Almost. Since LeftValues and RightValues always give a ¶ after the final value, if the final value in the list is populated the result will have a ¶, and thus an extra value, tacked on to the end. Still, your suggestion is much more elegant than mine - thanks! - and I'll come up with a Case statement that works around the problem. | ||
comment, VR Sep 16, 2016 |
||
The trailing ¶ will ALWAYS be there (unless the result is completely empty), so there is no test for your Case statement to consider. You could remove the trailing ¶ by using Left() and Length() - but I see no good reason to do so. The trailing ¶ is conforming to FileMaker own standard regarding functions that return a list of values. All such built-in functions - LeftValues, MiddleValues, RightValues, FilterValues - return a list with every value followed by a ¶, including the last value. This does certainly NOT mean that there's "an extra value, tacked on to the end". You can verify this easily by counting the values: ValueCount ( "a¶b" ) = 2 ValueCount ( "a¶b¶" ) = 2 |
||
Bill T, Longmont, CO Oct 27, 2016 |
||
I need to run the check because I often concatenate value lists, and if that's done the simplest way (ListA & ¶ & ListB) you can end up with a blank value between ListA and ListB. The trailing ¶ will USUALLY be there, depending on how the original value list was assembled. FileMaker doesn't conform to its own standards sometimes - both List and ValueListItems give value lists that do not include a trailing ¶ - but you're right, ValueCount does work as you said, so I could switch to having the Case statement in the concatenation script step. Thanks for your help. |
||
Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.