rmw Posted May 12, 2005 Posted May 12, 2005 Uit dit draadje de vraag om het volgende met u te delen: Custom functie EmptyFieldsOnLayout = /* Parameters: theFields: alle te testen velden itsMe: het veld waarin deze functie wordt aangeroepen mag niet worden getest omdat FM daar niet uit komt */ Let ( [ xCheckValue = LeftValues ( theFields ; 1 ) ; xContent = If ( xCheckValue = itsMe & "¶" ; "*" ; GetField ( xCheckValue ) ) ; xResult = If ( IsEmpty ( xContent ) ; xCheckValue ; "" ) ] ; If ( IsEmpty ( xCheckValue ) ; "" ; xResult & EmptyFieldsOnLayout ( RightValues ( theFields ; ValueCount ( theFields ) - 1 ) ; itsMe ) ) ) Veld definitie EmptyFields (niet opgeslagen!!!) = EmptyFieldsOnLayout ( FieldNames ( Get ( FileName ) ; Get ( LayoutName ) ) ; "EmptyFields" ) Let erop dat de functie in bladerstand op een layout met veel velden vertragend werkt. De recursiviteit vraagt het een en ander van FM7 rmw Quote
0 GlV Posted May 25, 2005 Posted May 25, 2005 Voor de mensen die geen Filemaker Developer hebben.... De evaluate functie geeft geen ¶ terug dus moeten we extra substitute gebruiken om de * terug om te zetten naar ¶ . De evaluate functie geeft ongeveer hetzelfde als getfield(veld) maar doordat je zowel de naam van het veld wil als de inhoud ervan moet je toch de getfield erbij plaatsen. Je kan er uiteraard ook een customfunctie van maken maar deze functie is trager dan de recursieve functie van rmw. let op het aantal characters in "\" ; if ( isempty( getfield(myfield)) ; myfield & \"*\" ; \"\" )) & let (myField= \""] anders zal de functie niet werken! Ook hier moet je de calculation eruit halen maak een unstored calc met volgende als formule EmptyFields = (calculcation) --------------------------------------------------- Substitute ( Evaluate ( Let ( myfunction = Substitute ( "¶" & FieldNames ( Get ( FileName ) ; Get ( LayoutName ) )& "¶" ;[ "EmptyFields" & "¶"; ""];["¶" ; "\" ; if ( isempty( getfield(myfield)) ; myfield & \"*\" ; \"\" )) & let (myField= \""] ) ; Middle (myfunction ; 65 ; Length (myfunction) - 65 - 17 ) ) ) ;"*" ;"¶" ) Quote
Question
rmw
Uit dit draadje de vraag om het volgende met u te delen:
Custom functie
EmptyFieldsOnLayout =
Veld definitie
EmptyFields (niet opgeslagen!!!) =
Let erop dat de functie in bladerstand op een layout met veel velden vertragend werkt. De recursiviteit vraagt het een en ander van FM7
rmw
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.