rmw Geplaatst: 12 mei 2005 Geplaatst: 12 mei 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 Geplaatst: 25 mei 2005 Geplaatst: 25 mei 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
Vraag
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 antwoord op deze vraag
Aanbevolen berichten
Doe mee aan dit gesprek
Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.